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

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的索引进行可视化的数据显示。

相关推荐
wyiyiyi1 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
天宇_任1 小时前
Mysql数据库迁移到GaussDB注意事项
数据库·mysql·gaussdb
xiep14383335104 小时前
Ubuntu 安装带证书的 etcd 集群
数据库·etcd
Java小白程序员5 小时前
Spring Framework:Java 开发的基石与 Spring 生态的起点
java·数据库·spring
老虎06275 小时前
数据库基础—SQL语句总结及在开发时
数据库·sql·oracle
爱掘金的土拨鼠7 小时前
国产化dm数据库锁表解锁
数据库
庖丁解java7 小时前
N个Utils
数据库
Mr. zhihao8 小时前
SQL LEFT JOIN 与 WHERE 条件的隐藏坑
数据库·sql
2301_793086878 小时前
Redis 04 Reactor
数据库·redis·缓存
Sais_Z8 小时前
ClickHouse的学习与了解
数据库·clickhouse