当前位置: 首页 > news >正文

日志ELK、ELFK、EFK

一.ELK架构

Elasticsearch + Logstash + Kibana
数据库+日志处理+日志显示

1.logstash的使用

(1)input:输入

(2)filter:处理

(3)output:输出

2.ELFK架构

Filebeat-->Elasticsearch-->Logstash-->Kibana

Filebeat 部署在节点上轻量采集日志,Logstash 集中处理。

ELK 的弊端:

  • NFS数据共享会成为流量瓶颈,不适合大规模集群

  • 是否可以在每台 Web 服务器上安装 Logstash

    • Logstash占用资源多,在节点部署会争抢应用的资源

ELFK 优势:

  • Filebeat占用资源非常小,可以在所有节点部署

  • 在每台Web服务器上安装客户端,通过网络发送日志,没有单点故障,没有流量瓶颈

filebeat的配置文件

test可以设置为业务名

filebeat直接区分不同服务的日志

示例filebeat:

filebeat.inputs:- type: filestreamid: oss-logspaths:- /var/oss/*.logfields:log_source: "oss"fields_under_root: true- type: filestreamid: dps-logspaths:- /var/dps/*.logfields:log_source: "dps"fields_under_root: trueoutput.logstash: # 输出到 Logstashhosts: ["your-logstash-host:5044"] # 替换为 Logstash 地址

示例logstash:

# 例如在 /etc/logstash/conf.d/ 下创建 log_processing.conf
input {beats {port => 5044}
}filter {# 此处可添加任意过滤解析规则,如Grok解析消息体:cite[10]# 所有日志都会经过这里
}output {# 根据 log_source 字段值判断输出到哪个索引if [log_source] == "oss" {elasticsearch {hosts => ["http://your-es-host:9200"] #Elasticsearchindex => "oss-logs-%{+YYYY.MM.dd}" # 定义OSS索引格式}} else if [log_source] == "dps" {elasticsearch {hosts => ["http://your-es-host:9200"]index => "dps-logs-%{+YYYY.MM.dd}" # 定义DPS索引格式}}# 可选: stdout { codec => rubydebug } # 调试时可在终端输出结果
}

kibana查看索引日志


(1)查看filebeat采集过来的日志

可以查看到索引日志说明成功采集过来了

(2)创建数据视图,查看日志

(3)选择创建了哪些数据视图(不同业务日志)

(4)日志检索

3.EFK架构


FluentdFluent-bit 替代 Logstash,资源占用极低(<10MB),支持插件扩展。

Fluent-bit 更适合容器环境,如 Kubernetes 中的 DaemonSet 部署

ELFK 的弊端:

  • ELFK 组件较多,需要配置 Logstash 处理数据

  • Logstash 体积大,占用资源多,不适用放在容器内运行

EFK 优势:

  • Fluent 整合了 Filebeat 和 Logstash 的功能

  • Fluent 组件更少,占用资源更小,非常适合容器部署

  • 容器部署的优选方案

http://www.dtcms.com/a/358209.html

相关文章:

  • 使用Python和GitHub构建京东数据自动化采集项目
  • 线程相关问题(AI回答)
  • 营业执照经营范围行业提取工具库项目方案解读(php封装库)
  • 【学Python自动化】 4. Python 控制流与函数学习笔记
  • FlowUs AI-FlowUs息流推出的AI创作助手
  • DAY 18 推断聚类后簇的类型 - 2025.8.30
  • ADB常用命令大全
  • Linux驱动开发重要操作汇总
  • 1.8 Memory
  • vue表格底部添加合计栏,且能跟主表同时滑动
  • 【Linux基础】深入理解计算机启动原理:MBR主引导记录详解
  • U-Boot移植过程中的关键目录文件解析
  • 循迹小车控制实验:实验介绍
  • 基于FPGA的简易医疗呼叫器实现,包含testbench
  • Linux 830 shell:expect,ss -ant ,while IFS=read -r line,
  • 在 VS2017 中使用 Visual Leak Detector 检测内存泄漏(记录一下 以前开发中使用过)
  • 数据结构(C语言篇):(七)双向链表
  • 学习游戏制作记录(视觉上的优化)
  • GRPO(组相对策略优化):大模型强化学习的高效进化
  • MySQL独占间隙锁为什么会互相兼容?
  • 基于Ultralytics YOLO通用目标检测训练体系与PyTorch EfficientNet的图像分类体系实现
  • 用Git在 Ubuntu 22.04(Git 2.34.1)把 ROS 2 工作空间上传到全新的 GitHub 仓库 步骤
  • MCU启动过程简介
  • 为多种业态注入智能化发展新活力的智慧地产开源了
  • Java 常见异常系列:ClassNotFoundException 类找不到
  • Qt线程提升:深度指南与最佳实践
  • 操作系统上的Docker安装指南:解锁容器化新世界
  • 《潮汐调和分析原理和应用》之四S_Tide使用1
  • 一个wordpress的网站需要什么样的服务器配置
  • 数据结构(力扣刷题)