徒手从零搭建一套ELK日志平台(万字教程)

日志分析的概述

  • 日志分析是运维工程师解决系统故障,发现问题的主要手段

  • 日志主要包括系统日志、应用程序日志和安全日志

  • 系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因

  • 经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误

日志分析的作用

  • 分析日志时刻监控系统运行的状态

  • 分析日志来定位程序的bug

  • 分析日志监控网站的访问流量

  • 分析日志可以知道哪些sql语句需要优化

主要收集工具

  • 日志易: 国内一款监控、审计、权限管理,收费软件

  • splunk: 按流量收费,国外软件,主要三个部件组成(IndexerSearch HeadForwarder

    • Indexder提供数据的存储,索引,类似于elasticsearch的作用

    • Search Head负责搜索,客户接入,从功能上看,一部分是kibana的UI是运行,在Search Head上的,提供所有的客户端可视化功能,还有一部分,是提供分布式的搜索功能,具有Elasticsearch部分功能

    • Forwarder负责数据接入,类似Logstash或者filebeat

  • ELK: 海量日志分析平台(Elasticsearchlogstashkibana),开源且在国内被广泛应用

集中式日志系统主要特点

采集日志分类

ELK概述

ELK是一个开源的数据分析平台,由三个开源项目Elasticsearch、Logstash和Kibana组成,因此被称为ELK

ELK主要用于处理和分析大量的日志数据,支持实时搜索、数据可视化和分析

  • Elasticsearch是一个分布式搜索引擎和分析引擎,能够实现实时搜索和分析大规模的数据集

  • Logstash是一个数据收集、处理和转换工具,能够从不同来源收集、处理和传输数据

  • Kibana是一个数据可视化工具,能够通过仪表盘、图形和地图等方式展示数据

  • ELK 三个组件相互配合,能够构建一个强大的、可扩展的日志分析平台,支持数据的快速检索、可视化和分析。

初级版ELK

终极版ELK

高级版ELK

ELK收集日志的两种形式

不修改源日志的格式: 而是通过logstash的grok方式进行过滤清洗,将原始无规则的日志转换为规则的日志

  • 优点: 不用修改原始日志输出格式,直接通过logstash的grok方式进行过滤分析,好处是对线上业务系统无任何影响

  • 缺点: logstash的grok方式在高压力情况下会成为性能瓶颈如果要分析的日志量超大时,日志过滤分析可能阻塞正常的日志输出;因此,在使用logstash时,能不用grok尽量不使用grok过滤功能。

修改源日志输出格式: 按照需要的日志格式输出规则日志,logstash只负责日志的收集和传输,不对日志做任何的过滤清洗。

  • 优点: 因为已经定义好了需要的日志输出格式, logstash只负责日志的收集和传输,这样就大大减轻了logstash的负担,可以更高效的收集和传输日志。

  • 缺点: 需要事先定义好日志的输出格式,这可能有一定工作量,但目前常见的web服务器例如httpd、Nginx等都支持自定义日志输出格式。

搭建ELK平台

Elasticsearch 官网:https://www.elastic.co/cn/elasticsearch

Elasticsearch是一个基于Lucene库的分布式搜索引擎和数据分析引擎,能够实现实时搜索和分析大规模的数据集,支持文本、数字、地理位置等多种类型的数据检索和分析。Elasticsearch是一个开源的、高度可扩展的平台,能够处理海量的数据,并支持分布式的数据存储和处理。Elasticsearch的主要特点包括:

  • 分布式搜索引擎: Elasticsearch能够对海量的数据进行快速的搜索和查询,并支持实时搜索。

  • 分布式数据存储: Elasticsearch能够将数据分散存储在多个节点上,以提高数据的可用性和可靠性。

  • 多数据类型支持: Elasticsearch支持多种数据类型,包括文本、数字、日期、地理位置等。

  • 实时数据分析: Elasticsearch能够对数据进行实时的聚合、过滤和分析,并支持数据可视化。

  • 可扩展性: Elasticsearch能够扩展到数百个节点,处理PB级别的数据。

  • 开源: Elasticsearch是一个开源的软件,源代码可以公开获取和修改。 Elasticsearch广泛应用于企业搜索、日志分析、安全分析和商业智能等领域。它提供了丰富的API和工具,包括RESTful API、Java API和Python API等,方便开发人员集成和使用。

Logstash 文档地址:https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html

Logstash 是一个开源的数据收集、处理和转换工具,能够从不同来源收集、处理和传输数据。,主要用于处理和分析大量的日志数据,支持多种数据源和格式,包括文本文件、数据库、日志文件、消息队列等。Logstash能够实现以下功能:

  • 数据收集: Logstash能够从不同的数据源收集数据,并支持多种数据格式,包括JSON、CSV、XML等。

  • 数据处理: Logstash能够对收集到的数据进行处理和转换,例如过滤、分析、标准化等。

  • 数据传输: Logstash能够将处理后的数据传输到目标位置,例如Elasticsearch、Kafka、Redis等。

  • 插件扩展: Logstash提供了丰富的插件,方便用户扩展和定制功能。

  • 实时数据处理: Logstash能够实现实时数据处理,支持流式数据处理。 Logstash是一个高度可扩展的工具,能够处理大量的数据,并支持分布式部署。它能够与Elasticsearch、Kibana、Beats等工具集成,构建一个强大的、可扩展的数据分析平台。Logstash提供了丰富的文档和社区支持,方便用户学习和使用。

Logstash工作原理

搭建和使用ELK平台,您需要按照以下步骤进行操作: 1. 安装和配置Elasticsearch:首先,您需要安装Elasticsearch。您可以从官方网站下载适用于您的操作系统的包,并按照官方文档中的指南进行安装。安装完成后,您需要进行一些基本的配置,如设置集群名称和节点名称。 2. 安装和配置Logstash:Logstash 是一个用于数据收集、处理和传输的工具。您可以从官方网站下载适用于您的操作系统的包,并按照官方文档中的指南进行安装。安装完成后,您需要配置Logstash来定义输入、过滤器和输出,以便从不同的数据源收集日志数据并将其发送到Elasticsearch。 3. 安装和配置Kibana:Kibana 是一个用于数据可视化和分析的工具。您可以从官方网站下载适用于您的操作系统的包,并按照官方文档中的指南进行安装。安装完成后,您需要配置Kibana来连接到Elasticsearch,并创建可视化仪表板、图表和搜索查询等。 4. 配置和优化ELK集群:一旦您完成了Elasticsearch、Logstash和Kibana的安装和配置,您可以开始进行集群配置和优化。您可以调整Elasticsearch集群的硬件资源分配,配置索引和搜索的优化参数,以满足您的需求。 5. 生产环境使用:在将ELK平台投入生产环境之前,您需要确保您的日志数据源正确地发送到Logstash,并且通过Kibana可以正确地进行搜索和可视化。您还应该设置适当的安全性措施,如访问控制和身份验证,以保护您的数据。 以上是搭建和使用ELK平台的一般步骤。具体操作可能因环境和需求而有所不同,建议您参考官方文档以获取更详细的指南和最佳实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值