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

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

相关推荐
桀桀桀桀桀桀17 分钟前
数据库中的用户管理和权限管理
数据库·mysql
superman超哥1 小时前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
用户8007165452001 小时前
HTAP数据库国产化改造技术可行性方案分析
数据库
engchina2 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
engchina2 小时前
使用 Cypher 查询语言在 Neo4j 中查找最短路径
数据库·neo4j
尘浮生2 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
威哥爱编程2 小时前
SQL Server 数据太多如何优化
数据库·sql·sqlserver
小华同学ai2 小时前
AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
数据库·信息可视化·开源
Acrelhuang3 小时前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网
筱源源3 小时前
Elasticsearch-linux环境部署
linux·elasticsearch