一口气完成ELK 日志平台的搭建,我感觉我又行了!

简介: 最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。

前言

大家好,我是小郭,最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。

只有学习了,操作了才能算真正的学会使用了,虽然看起来简单,但是里面的流程步骤还是很多的,将步骤和遇到的问

题记录和总结下,今天主要分享下在Docker环境下部署完成ELK日志平台的搭建。

目的:一步一步完成搭建操作与踩坑记录、与开发环境的日志结合,反映真实的日志场景。

什么是 ELK ?

ELK 指的是⼀套完整的⽇志集中处理解决⽅案,将Elasticsearch + Logstash + Kibana 三个开源⼯具配合使⽤,以满足用户对⽇志的查询、排序、统计需求。

ELK常见架构:

Elasticsearch + Logstash + Kibana

这是一种最简单的架构。通过 Logstash 来收集日志,通过 Elasticsearch 对日志进行分析,将所得结果展示用 Kibana展示。

这种架构也是官网介绍的方式,但是在实际生产中很少使用。

filebeat + Elasticsearch + Logstash + Kibana

相比第一种架构,此架构增加了一个 filebeat 模块。filebeat 是一个轻量的日志收集代理,部署在客户端。

优点: 相较于logstash消耗更少的资源

缺点: 当 logstash 出现故障时,日志会出现丢失。

filebeat + kafka + Elasticsearch + Logstash + Kibana

这种架构是对于第二种架构的完善,通过增加中间件,来避免数据的丢失。

当 Logstash 出现故障,日志还存留在中间件中,当Logstash 再次启动,则会读取中间件中积压的日志。

工作流程

今天我们主要来说一说第二种架构方式

  1. Filebeat收集数据
  2. 将收集数据汇总给Logstash,Logstash进行数据清洗
  3. 将数据写入Elasticsearch
  4. 用Kibana进行可视化展示

搭建部署 Elasticsearch 数据库

# 从零到一搭建ELK日志,在Docker环境下部署 Elasticsearch 数据库

网络异常,图片无法展示
|

部署 Kibana 可视化工具

# 从零到一搭建ELK日志,在Docker环境下部署 Kibana 可视化工具

网络异常,图片无法展示
|

部署 Filebeat 日志收集工具

# 从零到一搭建ELK日志,在Docker环境下部署 Filebeat 日志收集工具

网络异常,图片无法展示
|

部署 logstash 转换工具

# 从零到一搭建ELK日志,在Docker环境下部署 logstash 工具

网络异常,图片无法展示
|

踩坑记录

  1. Filebeat 数据未上报成功,导致一直显示30秒内无更新数据

网络异常,图片无法展示
|

解决方法:修改配置,将配置修改为正确的地址,我们需要设置 filebeat 的配置文件路径为容器内的路径。

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /usr/share/filebeat/logs/*
  1. 验证是否有生成es的索引,有生成才算成功
curl <http://localhost:9200/_cat/indices?v>

总结

今天主要完成Filebeat 收集数据写入 logstash处理,再将数据写入 Elasticsearch 后 Kibana 进行可视化展示的全过程。

后续我们将集成我们的springBoot应用,以及加上 Kafka 和 Grafana 监控完来完善整个日志平台。


网络异常,图片无法展示
|

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
6月前
|
消息中间件 Java Kafka
搭建ELK日志收集,保姆级教程
本文介绍了分布式日志采集的背景及ELK与Kafka的整合应用。传统多服务器环境下,日志查询效率低下,因此需要集中化日志管理。ELK(Elasticsearch、Logstash、Kibana)应运而生,但单独使用ELK在性能上存在瓶颈,故结合Kafka实现高效的日志采集与处理。文章还详细讲解了基于Docker Compose构建ELK+Kafka环境的方法、验证步骤,以及如何在Spring Boot项目中整合ELK+Kafka,并通过Logback配置实现日志的采集与展示。
1122 64
搭建ELK日志收集,保姆级教程
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
869 90
|
存储 运维 监控
超越传统模型:从零开始构建高效的日志分析平台——基于Elasticsearch的实战指南
【10月更文挑战第8天】随着互联网应用和微服务架构的普及,系统产生的日志数据量日益增长。有效地收集、存储、检索和分析这些日志对于监控系统健康状态、快速定位问题以及优化性能至关重要。Elasticsearch 作为一种分布式的搜索和分析引擎,以其强大的全文检索能力和实时数据分析能力成为日志处理的理想选择。
1014 6
|
存储 消息中间件 网络协议
日志平台-ELK实操系列(一)
日志平台-ELK实操系列(一)
|
12月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
868 3
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
|
存储 监控 安全
|
消息中间件 Kafka 开发工具
rsyslog+ELK收集Cisco日志
rsyslog+ELK收集Cisco日志
|
运维 监控 Ubuntu
一键启动日志魔法:揭秘ELK自动安装脚本的神秘面纱!
【8月更文挑战第9天】在数据驱动时代,高效处理日志至关重要。ELK Stack(Elasticsearch、Logstash、Kibana)是强大的日志分析工具,但其复杂的安装配置常让初学者望而却步。本文介绍如何编写ELK自动安装脚本,简化部署流程。脚本适用于Ubuntu系统,自动完成ELK下载、安装及基本配置,包括依赖项安装、服务启动及自启设置,极大降低了使用门槛,助力运维人员和开发者轻松构建日志分析平台。
482 6
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
733 0
部署ELK+filebeat收集nginx日志