你们项目日志是如何处理的???

ELK日志采集系统

1.什么是ELK

ELK 是一套流行的数据搜索、分析和可视化解决方案,由三个开源项目组成,每个项目的首字母合起来形成了"ELK"这一术语:

  1. Elasticsearch (ES):

    1. Elasticsearch 是一个基于 Apache Lucene 构建的分布式、实时搜索与分析引擎。它能够索引、搜索和分析大量数据,并且提供了水平扩展能力,允许处理 PB 级别的数据。Elasticsearch 适合用于全文搜索、日志分析、监控指标聚合等多种场景,其 RESTful API 让数据的索引和查询变得非常便捷。
  2. Logstash (LS):

    1. Logstash 是一个动态数据收集管道,用于从各种数据源接收、解析、转换并将数据发送到"stash"(例如 Elasticsearch)。它可以收集来自服务器日志、数据库、应用程序、网络设备等各种源头的日志数据,并对这些数据进行清洗、标准化和丰富,以便于后续分析。
  3. Kibana (KB):

    1. Kibana 是一个开源的数据可视化工具,专为 Elasticsearch 设计,提供了一个用户友好的 Web 界面,使得用户可以轻松地搜索、查看和分析 Elasticsearch 中存储的数据。借助 Kibana,用户可以创建仪表板、图表和其他可视元素,对数据进行深度探索,同时支持实时数据分析和交互式操作。

结合起来,ELK Stack(现在通常称为 Elastic Stack,随着 Beats 等其他组件的加入)为用户提供了一站式的日志管理和分析平台,适用于 IT 监控、安全分析、业务智能等多个领域,能够高效地收集、索引、搜索和展现大规模的日志及监控数据。

2.EFK

在 ELK(Elasticsearch、Logstash、Kibana)堆栈中,Filebeat 通常被用来替代 Logstash 作为日志收集代理,这是因为 Filebeat 相对于 Logstash 来说更为轻量级,资源消耗较小,尤其适合于边缘节点或者资源有限的服务器上收集日志数据。

Filebeat 主要功能如下:

  • 轻量化:Filebeat 专注于日志文件的读取与传输,相对于 Logstash 具有更多的模块化设计和较低的CPU和内存开销。

  • 模块化:Filebeat 提供了预定义的模块来简化日志收集过程,这些模块针对特定类型的应用程序日志进行了优化配置,简化了日志格式解析的过程。

  • 传输:Filebeat 可以直接将收集到的日志数据发送到 Elasticsearch 或者先发送到中间传输层,如 Redis 或 Kafka,然后再由 Logstash 或者其他组件进行进一步处理和索引。

我们采用的是EFK,我们将应用通过docker部署,通过应用的配置文件以及EFK的配置文件(配置单个日志文件的大小通常是100MB,日志留存时间,日志文件的个数等等),指定日志挂载的位置,然后通过FileBeat读取指定目录下的日志文件并将其存到ES中,最后可以通过Kibina绑定ES的索引进行可视化的数据显示。

相关推荐
枫叶林FYL14 分钟前
项目十:事件溯源仓储管理系统(WMS)
jvm·数据库·oracle
AI人工智能+电脑小能手27 分钟前
【大白话说Java面试题 第78题】【Mysql篇】第8题:解释下最左前缀原则?
java·开发语言·数据库·mysql·面试
做个文艺程序员1 小时前
第10篇(终篇):生产级 ES 运维——监控、备份、安全与故障排查完全手册
运维·安全·elasticsearch·es备份恢复·es升级·集群故障排查
霸道流氓气质1 小时前
MyBatis 分页查询 + Feign 数据补充实战指南
数据库·oracle·mybatis
一起逃去看海吧1 小时前
对接LangSmith
java·前端·数据库
wyhwust1 小时前
web应用技术-第一次课后作业
java·前端·数据库
hef2881 小时前
SQL角色分组统计与功能扩展实战指南
数据库
隐退山林1 小时前
JavaEE进阶:MyBatis操作数据库(进阶)
数据库·java-ee·mybatis
清水白石0081 小时前
构建企业级 Python 服务:配置、日志、指标与追踪的稳健之道
开发语言·python·elasticsearch
我是一颗柠檬1 小时前
【MySQL全面教学】MySQL锁机制与并发控制Day10(2026年)
数据库·sql·mysql·database