ELK 和 OpenShift 中的 EFK

 ELK 和 OpenShift 中的 EFK 确实是同类日志解决方案的不同实现,核心功能相似但组件略有差异。以下是详细对比和解释:


1. ELK vs EFK:核心区别

组件ELK 栈EFK 栈(OpenShift 默认)
日志收集Logstash(Java 实现)Fluentd(Ruby/C 实现,更轻量)
日志存储ElasticsearchElasticsearch(或 Loki 等替代)
日志可视化KibanaKibana(或 Grafana)

为什么 OpenShift 用 Fluentd 替代 Logstash?

  • 资源效率:Fluentd 内存占用更低,更适合容器化环境。

  • Kubernetes 集成:Fluentd 原生支持 K8s 元数据标签(如 Pod Name、Namespace)。

  • 插件生态:Fluentd 的插件架构更灵活,适合云原生场景。


2. OpenShift 中 EFK 栈的实现

(1) 开源性
  • Fluentd:完全开源(GitHub: fluent/fluentd)。

  • Elasticsearch & Kibana:开源版本可用,但 OpenShift 可能集成企业版功能(如安全插件)。

  • OpenShift 适配层

    • Fluentd 的 OpenShift 配置模板是开源的(openshift/logging)。

    • 日志收集器的 Kubernetes 过滤器代码公开(fluent-plugin-kubernetes_metadata_filter)。

(2) 专有部分(可能闭源)
  • 日志操作符(Cluster Logging Operator)

    • 开源代码:https://github.com/openshift/cluster-logging-operator

    • 但企业版的高级功能(如与 Red Hat Advanced Cluster Security 集成)可能闭源。

  • 多租户日志隔离:企业版可能扩展了开源 Fluentd 的功能。


3. 如何确认 OpenShift 日志栈的开源性?

  1. 查看部署的容器镜像

    oc get pods -n openshift-logging -o jsonpath='{.items[*].spec.containers[*].image}'
    • 镜像名包含 redhat 或 registry.redhat.io 的可能是专有版本。

  2. 检查 GitHub 仓库

    • OpenShift Logging 子项目:https://github.com/openshift/cluster-logging-operator

    • Fluentd 官方插件:https://github.com/fluent/fluentd-kubernetes-daemonset


4. 如果想用 ELK(Logstash)替代 EFK?

OpenShift 允许替换组件,但需自行维护:

  1. 部署 Logstash

    • 使用 Helm 或 Operator 部署 Logstash 替代 Fluentd。

  2. 修改日志收集配置

    • 通过 ClusterLogForwarder API 将日志路由到 Logstash。

  3. 注意事项

    • Logstash 资源消耗更高,需调整节点规格。

    • 失去 OpenShift 对 Fluentd 的默认支持(如自动标签注入)。


总结

  • EFK 是 OpenShift 的“优化版 ELK”,用 Fluentd 替换 Logstash 以适配云原生场景。

  • 核心组件(Fluentd/ES/Kibana)开源,但企业版可能包含增强功能(如安全审计)。

  • 如需完全控制:可基于开源组件自建,但需承担运维复杂度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/911679.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/911679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python UDP Socket 实时在线刷卡扫码POS消费机门禁控制服务端示例源码

本示例使用的设备:https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.1d292c1bk8Qc9r&ftt&id17021194999 一、服务端绑定IP开启UDP端口接收消费机提交的请求 import sys import os import socket import time import datetimeIpList[] if sys.pl…

对于高考边界的理解以及未来就业层级的学习与思考

目录 一、2024年高考全国多少考生,文化课,文科理科,分别总分多少分?清北得多少分能上?二、1342万人里面,有多少人能上清北,多少能上985,多少能上211,多少能上二本&#x…

JVM调优实战 Day 4:JVM类加载机制

【JVM调优实战 Day 4】JVM类加载机制 文章内容 在Java虚拟机(JVM)的运行过程中,类加载机制是整个程序启动和运行的基础。它决定了Java类是如何被动态加载到JVM中,并为后续的字节码执行做好准备。理解JVM类加载机制不仅有助于我们…

R 语言中的判断语句

R 语言中的判断语句 在R语言编程中,判断语句是执行条件逻辑的基础。它们允许程序根据特定的条件执行不同的代码块。本文将深入探讨R语言中的几种常见判断语句,包括if语句、if-else语句和switch语句,并探讨它们的用法和场景。 1. if语句 if…

从设备自动化到智能管控:MES如何赋能牛奶饮料行业高效生产?

万界星空科技全新推出的:新一代智能化MES系统,深度融合AI大数据技术,实现生产全流程可视化、智能排产、实时质量追溯与设备互联,助力企业降本增效30%。 现开放免费试用名额,体验智能化生产管理的高效与便捷&#xff01…

TDengine 技术参数配置大全

1. 背景 TDengine 的 taos.cfg 中配置项及使用 SQL 命令 alter 修改的系统变量之间的关系如何,哪些是持久存储项,哪些设置是临时项,这章将详细说明。 本文是技术参考资料,请收藏。 2.定义 1. 全局配置参数 全局配置参数&#…

无人机神经网络模块运行与技术难点

一、神经网络模块的运行方式 1. 分层处理架构 感知层 多模态数据融合:通过八元数卷积网络(OCNN)统一处理LiDAR、摄像头、IMU等异构传感器数据,将点云坐标(x/y/z)、图像RGB与光流信息编码至8维虚部&#…

前端react框架实现打包时间动态加入配置展示在指定页面

注意: 当前方法特定为 create-react-app 构建框架,其他的构建流程不同,不能直接照搬 react-scripts 的方式。 ✅ 目标: 在 React 打包(build)时,自动将当前时间写入代码中某个变量或 console…

原子操作(CAS)

原子操作 原子操作原理什么是原子操作?原子性原子变量相关接口内存序 shared_ptr的实现 原子操作原理 什么是原子操作? 原子操作其实就是指在多线程的环境下,确保对共享变量的操作不会被干扰,从而避免了竞态条件。 我们都知道&…

马克思主义基本原理期末复习下

二十、资本的原始积累 所谓资本原始积累,就是以暴力手段使生产者与生产资料分离资本快速集中于少数人手中,资本主义得以快速发展的历史过程。具体过程其一,用暴力手段夺取农民的土地,如英国圈地运动在国外建立殖民地,…

体育数据api接口,足球api篮球api电竞api,比赛赛事数据api

在体育行业,数据驱动一切,从内容分发到竞猜预测,从用户互动到商业变现,背后少不了一个关键词:数据接口(API)。无论是实时比分、比赛事件、历史统计,还是球员详情、战绩排名&#xff…

Harmony 状态监听 @Monitor和@Computed

Monitor与Computed装饰器在ArkUI状态管理中的协同应用 一、装饰器概述 1. Monitor装饰器 Monitor是ArkUI状态管理V2中的核心装饰器,用于深度监听状态变量的修改: 支持监听嵌套类属性、多维数组项和对象数组中的指定项变化能够获取变化前后的值进行比…

同济大学多模态感知具身导航全面综述

作者: I-Tak Ieong, Hao Tang 单位:同济大学计算机学院,北京大学计算机学院 论文标题: Multimodal Perception for Goal-oriented Navigation: A Survey 论文链接:https://arxiv.org/pdf/2504.15643 主要贡献 基于…

2025年CCF先进音频技术竞赛

由中国计算机学会主办、CCF语音对话与听觉专委会承办、语音之家协办、华为终端有限公司赞助的CCF先进音频技术大赛正式启动。大赛旨在推动国内高等院校及科研院所在音频技术领域的专业人才培养,支持学生科技创新,选拔优秀人才。 赛事官网:ht…

手撕线程池

线程池的目的: 1.复用线程,减少频繁创建和销毁的开销 创建和销毁线程是昂贵的系统操作,涉及内核调度、内存分配; 使用线程池预先创建一批线程,在多个任务间循环复用,避免资源浪费,提高性能。 …

3DTiles三维模型

1. 3DTiles 介绍​ 2016 年,Cesium 团队借鉴传统 2DGIS 的地图规范:WMTS,借鉴图形学中的层次细节模型,打造出大规模的三维数据标准:3d-Tiles,中文译名:三维瓦片。 它在模型上利用了 gltf 渲染…

Golang Kratos 系列:业务分层的若干思考(一)

在使用 Kratos 框架开发云服务的过程中,渐渐理解和感受到“领域层”这个概念和抽象的强大之处,它可以将业务和存储细节解耦、将业务和开发初期频繁变更的API结构,让Mock单元测试变得更加容易、对细节的变化更鲁棒。让业务代码摆脱技术细节依赖…

深度优化OSS上传性能:多线程分片上传 vs 断点续传实战对比

1 卸载开头 对象存储服务(OSS)已成为现代应用架构的核心组件,但随着业务规模扩大,文件上传性能问题日益凸显。本文将深入探讨两种核心优化技术:多线程分片上传和断点续传,通过理论分析、代码实现和性能测试…

doris_工作使用整理

文章目录 前言一、doris整体情况二、doris的存储过程情况1.分类2. 同步物化视图3. 异步物化视图三,分区相关1.分区建的过多前言 提示:doris使用版本3.x 提示:以下是本篇文章正文内容,下面案例可供参考 一、doris整体情况 细节放大 二、doris的存储过程情况 1.分类 按…

左神算法之单辅助栈排序算法

目录 1. 题目2. 解释3. 思路4. 代码5. 总结 1. 题目 请编写一个程序,对一个栈里的整型数据,按升序进行排序(即排序前栈里的数据是无序的,排序后最大元素位于栈顶)。要求最多只能使用一个额外的栈存放临时数据&#xf…