【EFK】基于K8S构建EFK+logstash+kafka日志平台(1),大数据开发面试回忆录

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
img

正文

Logstash(采集)—> Logstash(聚合、处理)—> ElasticSearch (存储)—>Kibana (展示)

Filebeat(采集、处理)—> ElasticSearch (存储)—>Kibana (展示)

Filebeat(采集)—> Logstash(聚合、处理)—> ElasticSearch (存储)—>Kibana (展示)

Filebeat(采集)—> Kafka/Redis(消峰) —> Logstash(聚合、处理)—> ElasticSearch (存储)—>Kibana (展示)

二、EFK组件介绍

2.1、Elasticsearch组件

Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。

Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;
Elastic Stack 是一套适用于数据采集、扩充、存储、分析和可视化的免费开源工具。

人们通常将 Elastic Stack 称为 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana)。
目前 Elastic Stack 包括一系列丰富的轻量型数据采集代理,这些代理统称为 Beats,可用来向 Elasticsearch 发送数据。

2.2、Filebeat组件

【1】 Filebeat和beat关系

filebeat是Beats中的一员。
  Beats是一个轻量级日志采集器,Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。

目前Beats包含六种工具:
1、Packetbeat:网络数据(收集网络流量数据)
2、Metricbeat:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据)
3、Filebeat:日志文件(收集文件数据)
4、Winlogbeat:windows事件日志(收集Windows事件日志数据)
5、Auditbeat:审计数据(收集审计日志)
6、Heartbeat:运行时间监控(收集系统运行时的数据)

【2】Filebeat是什么

Filebeat是用于转发和收集日志数据的轻量级传送工具。Filebeat监视你指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash中。
Filebeat的工作方式如下:启动Filebeat时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将聚集事件,并将聚集的数据发送到为Filebeat配置的输出。

工作的流程图如下:
在这里插入图片描述
Filebeat 有两个主要组件:
harvester:一个harvester负责读取一个单个文件的内容。harvester逐行读取每个文件,并把这些内容发送到输出。每个文件启动一个harvester。
Input:一个input负责管理harvesters,并找到所有要读取的源。如果input类型是log,则input查找驱动器上与已定义的log日志路径匹配的所有文件,并为每个文件启动一个harvester。

  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在运维开发Kubernetes(k8s)面试题中,通常会涉及到以下几个方面: 1. Kubernetes基础知识:面试官可能会问你Kubernetes的概念、架构和组件,以及它的工作原理和优势等等。你需要了解Pod、Service、Namespace、Deployment、ReplicaSet等基本概念,并且能够解释它们之间的关系和作用。 2. 应用部署与管理:面试官可能会询问你如何在Kubernetes上进行应用的部署和管理。你需要熟悉使用Kubectl命令行工具或Helm进行应用的创建、更新和删除,并且了解如何进行应用扩缩容、滚动更新和版本回滚等操作。 3. 资源调度与管理:面试官可能会关注你对资源调度和管理的理解。你需要清楚如何为Pod分配CPU和内存资源,以及如何设置资源配额和限制。此外,你还需要了解Kubernetes的调度策略和调度器的工作原理。 4. 监控和日志面试官可能会问你如何在Kubernetes中进行应用的监控和日志收集。你需要了解Prometheus、Grafana和EFK等常用的监控和日志工具,并且知道如何在Kubernetes中配置和使用它们。 5. 故障排查与修复:面试官可能会考察你对故障排查和修复的能力。你需要熟悉常见的Kubernetes故障场景,如Pod启动失败、网络故障等,以及相应的排查和修复方法。 6. 安全与权限:面试官可能会询问你如何在Kubernetes中进行访问控制和安全设置。你需要了解RBAC的概念和使用方法,并且知道如何创建和管理用户、角色和角色绑定等。 总之,在准备运维开发Kubernetes面试时,你需要深入了解Kubernetes的架构和相关概念,并且熟悉常用的命令和工具。此外,实践经验和项目经历也非常重要,因此建议你在实际项目中多动手操作和实践,从而更好地准备和回答面试题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值