efk日志集群架构了解

author author     2023-03-16     364

关键词:

参考技术A 0.基础架构:

说明:filebeat日志直接传送给es,直接从界面查看日志

1.架构图

使用filebeat收集日志直接写入kafka,然后再由logstash从kafka读取写到elasticsearch

其中各组件说明如下:

Filebeat:轻量级数据收集引擎。早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。如果用它来对服务器进行日志收集,将加重服务器的负载。相比 Logstash,Beats所占系统的CPU和内存几乎可以忽略不计,所以filebeat作为一个轻量级的日志收集处理工具(Agent),它可以用来替代Logstash,由于其占用资源少,所以更适合于在各个服务器上搜集日志后传输给Logstash,这也是官方推荐的一种做法。【收集日志】

Logstash:数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储以供后续使用。【对日志进行过滤、分析】

Elasticsearch:分布式搜索引擎。是基于Lucene的开源分布式搜索服务器,具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。【搜集、分析、存储数据】

Kibana:可视化平台。它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数据。【图形化展示日志】

如果还是遇到性能瓶颈

使用filebeat收集日志,先转发到beat端的logstash1,然后logstash1转发到kafka,然后再由logstash2从kafka读取写到elasticsearch。

2.架构升级:

架构解释:

(1)首先用户通过nginx代理访问ELK日志统计平台,这里的Nginx可以设置界面密码。

(2)Nginx将请求转发到kibana

(3)kibana到Elasticsearch中去获取数据,这里的Elasticsearch是两台做的集群,日志数据会随机保存在任意一台Elasticsearch服务器。

(4)Logstash1从Kafka中取出数据并发送到Elasticsearch中。

(5)Kafka服务器做日志数据的持久化保存,避免web服务器日志量过大的时候造成的数据收集与保存不一致而导致日志丢失,其中Kafka可以做集群,然后再由Logstash服务器从Kafka持续的取出数据。

(6)logstash2从Filebeat取出的日志信息,并放入Kafka中进行保存。

(7)Filebeat在客户端进行日志的收集。

注1:【Kafka的加入原因与作用】

整个架构加入Kafka,是为了让整个系统更好的分层,Kafka作为一个消息流处理与持久化存储软件,能够帮助我们在主节点上屏蔽掉多个从节点之间不同日志文件的差异,负责管理日志端(从节点)的人可以专注于向 Kafka里生产数据,而负责数据分析聚合端的人则可以专注于从 Kafka内消费数据。所以部署时要把Kafka加进去。

而且使用Kafka进行日志传输的原因还在于其有数据缓存的能力,并且它的数据可重复消费,Kafka本身具有高可用性,能够很好的防止数据丢失,它的吞吐量相对来说比较好并且使用广泛。可以有效防止日志丢失和防止logsthash挂掉。综合来说:它均衡了网络传输,从而降低了网络闭塞,尤其是丢失数据的可能性,

注2:【双层的Logstash作用】

这里为什么要在Kafka前面增加二台logstash呢?是因为在大量的日志数据写入时,容易导致数据的丢失和混乱,为了解决这一问题,增加二台logstash可以通过类型进行汇总分类,降低数据传输的臃肿。

如果只有一层的Logstash,它将处理来自不同客户端Filebeat收集的日志信息汇总,并且进行处理分析,在一定程度上会造成在大规模日志数据下信息的处理混乱,并严重加深负载,所以有二层的结构进行负载均衡处理,并且职责分工,一层汇聚简单分流,一层分析过滤处理信息,并且内层都有二台Logstash来保障服务的高可用性,以此提升整个架构的稳定性。

kubernetes集群搭建efk日志收集平台(代码片段)

kubernetes集群搭建efk日志收集平台一、efk介绍1.efk简介2.Elasticsearch介绍①Elasticsearch简介②Elasticsearch的特点3.Filebeat介绍①Filebeat简介②Fluentd简介③Fluentd作用4.Kibana介绍5、efk的架构图二、检查本地kubernetes集群状态三、配置默认存储1... 查看详情

devops架构师--04kubernetes集群的日志及监控-更新版

文章目录第四天Kubernetes集群的日志及监控k8s日志收集架构使用节点级日志代理使用sidecar容器和日志代理方式一:sidecar容器将应用程序日志传送到自己的标准输出。方式二:sidecar容器运行一个日志代理,配置该日志代理以便从... 查看详情

efk教程-efk快速入门指南

...#9642;测试▪后续文章▷通过filebeat实时收集nginx访问日志、传输至elasticsearch集群▷filebeat将收集的日志传输至elasticsearch集群▷通过kibana展示日志▷服务器配置▷架构图版本说明▷elasticsearch7.3.2▷filebeat7.3.2&... 查看详情

结合springboot搭建日志采集系统efk

参考技术AEFK架构(elasticsearchfilebeatkibana)1、filebeat采集日志(可以采集多种日志类型loghttpsystemcpmqdockeraws...,具体采集配置参照:https://www.elastic.co/guide/en/beats/filebeat/current/configuration-filebeat-options.html)2、filebeat将采集到的日志解... 查看详情

efk教程-es集群开启用户认证(代码片段)

...热分离、资源合理分配。?在第四篇《EFK教程(4)-ElasticSearch集群TLS加密通讯》中,阐述了ES集群创建CA、CERT证书,实现ElasticSearch集群之间数据通过TLS进行双向加密交互。本文:?ES集群开启 查看详情

日志收集===》efk部署+supervisor管理(代码片段)

一、es集群部署(三台)#1.下载cd/optwgethttps://github.com/elastic/elasticsearch/archive/refs/tags/v6.8.12.tar.gz#2.解压缩tarxfelasticsearch-6.8.12.tar.gz-C/data/ota_soft/mkdir-p/data/ota_soft/elasticse 查看详情

2022快速部署一个可用的efk-7.17架构(代码片段)

...c;不会涉及高级配置。0.环境准备架构图将/var/log下的所有日志归档为system.log后,通过filebeat收集后发送给elasticsearch,通过kibana展示服务器环境host 查看详情

日志管理进阶-成为elk与efk的“高富帅”(代码片段)

EFK日志收集架构原理简图:Elasticsearch:数据库,存储数据javalogstash:日志收集,过滤数据javakibana:分析,过滤,展示javafilebeat:收集日志,传输到ES或logstash,安装在应用服务器比如:Nginx,go语言开... 查看详情

k8s服务轻松对接efk日志系统

...过程序捕抓后,记录到数据库。(缺点:只能记录异常的日志,而且有可能字段过长记录 查看详情

六、跨语言微服务框架-istio日志采集efk

参考技术AELK日志系统大家不会陌生(zipkin+jaeger,prometheus+grafana)解决了大家对于链路对于统计采集的需求,但是真正的对于日志进行存储还是得专业的上,在Istio中官方提供的方案是EFK(Fluentd+Elasticsearch+Kibana)Fluentd是一个开源的日志收... 查看详情

kubernetes企业项目实战04基于k8s构建efk+logstash+kafka日志平台(中)(代码片段)

目录一、安装存储日志组件Elasticsearch1.1创建名称空间1.2安装elasticsearch组件1)创建headlessservice服务2)通过statefulset创建elasticsearch集群二、安装kibana可视化UI界面本篇文章所用到的资料文件下载地址:kibana-v7.2.0-kubernetes... 查看详情

k8s部署efk收集pod日志,通过邮件报警error19(代码片段)

...允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于 查看详情

k8s搭建efk日志管理系统(代码片段)

efk就是目前比较受欢迎的日志管理系统。kubernetes可以实现efk的快速部署和使用,通过statefulset控制器部署elasticsearch组件,用来存储日志数据,还可通过volumenclaimtemplate动态生成pv实现es数据的持久化。通过deployment部署kibana组件,... 查看详情

openshift实战:openshift日志监控efk(代码片段)

1、镜像下载为了防止安装过程中由于镜像下载缓慢导致自动部署失败,所以首先提前下载好EFK镜像。dockerpullopenshift/origin-logging-fluentddockerpullopenshift/origin-logging-elasticsearchdockerpullopenshift/origin-logging-kibanadockerpullopenshift/or 查看详情

从elk到efk的演进(代码片段)

背景作为中国最大的在线教育站点,目前沪江日志服务的用户包含网校,交易,金融,CCTalk等多个部门的多个产品的日志搜索分析业务,每日产生的各类日志有好十几种,每天处理约10亿条(1TB)日志,热数据保留最近7天数据,... 查看详情

59轻量化日志loki全攻略

轻量化日志Loki全攻略1、前言在对公司容器云的日志方案进行设计的时候,发现主流的ELK(Elasticsearch,Logstash,Kibana)或者EFK(Elasticsearch,FilebeatorFluentd,Kibana)比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上,最终... 查看详情

elk和efk的区别

ELK是elasticsearch、logstatsh、kibana三种软件集成的日志搜集展示的框架,其中logstatsh是用于收集日志的软件,通常都会把它单放在其他服务器中,而elasticsearch与kibana可以放在一起,也可以分开放,elastivsearch是用来接受logstatsh传过来... 查看详情

centos7.3简便搭建efk日志分析(代码片段)

...的缩写,Elasticsearch,FileBeat,Kibana。其中ELasticsearch负责日志分析和存储,FileBeat负责日志收集,Kibana负责界面展示。它们之间互相配合使用,完美衔接,高效的满足了很多场合的应用,是目前主流的一种日志分析系统解决方案。... 查看详情