ELK 企业级日志分析系统实战教程

前言

相关知识简介

1. ELK 概述

2. Elasticsearch 核心知识

3. Logstash 核心知识

4. Kibana 核心知识

5. 为什么要用 ELK

6. 完整日志系统特征

7. ELK 工作原理

实验环境规划(本次实验未使用node2,配置仅供参考)

基础环境准备

系统配置

Elasticsearch集群部署

安装Elasticsearch

配置Elasticsearch

启动并验证

安装Elasticsearch-head管理界面

安装依赖环境

安装并启动Elasticsearch-head

Logstash部署与配置

安装Logstash

测试Logstash功能

配置系统日志收集

Kibana数据可视化

安装Kibana

配置Kibana

启动并访问

Apache日志收集实战

安装Apache服务

配置Logstash收集Apache日志

Filebeat轻量级日志收集

安装Filebeat

配置Filebeat

配置Logstash接收Filebeat数据

小结

附录:本次 ELK 部署与调试中遇到的问题总结

1. Logstash 配置语法错误

2. JAVA_HOME 未设置

3. Filebeat 连接 Logstash 报 “connection refused”

4. Logstash Beats 插件报 “地址已在使用”

5.Elasticsearch 报错问题:Java 环境找不到

6. Kibana / Elasticsearch 配置小坑

前言

在分布式系统和微服务架构成为主流的今天,日志管理已成为运维工作的核心挑战。面对海量且分散的日志数据,传统的命令行工具显得力不从心。

ELK Stack(Elasticsearch、Logstash、Kibana)作为开源日志解决方案的标杆,能够实现日志的集中收集、实时分析和可视化展示,让运维人员从繁琐的日志排查中解放出来。

本文将以实战为核心,手把手带你搭建一套完整可用的ELK系统。无论你是运维工程师还是开发人员,都能通过本文掌握企业级日志平台的构建方法。

现在,让我们开始这场日志管理的技术之旅!

相关知识简介

1. ELK 概述

ELK 是 Elasticsearch、Logstash 和 Kibana 三个开源工具的组合,提供一套完整的日志集中处理与分析解决方案:

  • Elasticsearch:核心搜索和分析引擎,用于存储日志并提供全文检索、聚合分析能力。

  • Logstash:数据收集与处理管道,从多种来源采集数据、清洗、转换后输出到 Elasticsearch。

  • Kibana:可视化与交互式分析工具,基于 Elasticsearch 数据构建仪表盘、图表和报告。

ELK Stack 能帮助企业统一收集、存储和分析来自多台服务器、不同应用的日志数据,适合日志分析、实时监控、数据可视化等场景。

2. Elasticsearch 核心知识

  • 核心功能:全文检索、实时数据分析、分布式架构、RESTful API。

  • 架构组件:集群、节点、索引、文档、分片、副本。

  • 典型场景:日志和事件数据分析、全文搜索应用、监控与告警、商业智能。

  • 优缺点:性能高、可扩展、灵活;但内存消耗大、管理复杂。

3. Logstash 核心知识

Logstash 是数据收集引擎,支持动态从各种数据源收集数据并进行过滤、分析、统一格式化后输出。

  • 特点:多源数据采集、灵活过滤处理、丰富输出插件、插件可扩展、实时处理。

  • 使用场景:日志收集与分析、数据清洗与转换、数据流整合。

  • 轻量替代方案

    • Filebeat:轻量级日志收集器,安装在客户端把日志直接发到 Logstash 或 Elasticsearch。

    • Fluentd:资源占用更少,在 Kubernetes 集群中常与 Elasticsearch 组成 EFK 方案。

4. Kibana 核心知识

Kibana 是 Elasticsearch 的可视化面板。

  • 主要功能:丰富的数据可视化、交互式仪表板、日志搜索与管理、时间序列分析、报警与监控、基于角色的访问控制、地理可视化、报表生成。

  • 使用场景:集中化日志管理与分析、实时监控、业务数据分析、安全分析、机器学习与趋势预测。

  • 工作原理:Kibana 自身不存储数据,通过 REST API 从 Elasticsearch 查询数据并展示。

5. 为什么要用 ELK

传统的 grep/awk 在单机日志上还能用,但在多台服务器、大规模分布式环境下检索和统计困难、效率低。ELK 提供集中化收集、索引、可视化分析,大幅提高排障、监控和决策效率。

6. 完整日志系统特征

  • 收集:多源日志采集。

  • 传输:稳定解析和过滤并传输到存储系统。

  • 存储:集中存储日志数据。

  • 分析:友好的 UI 分析界面。

  • 告警:支持错误报告和监控。

7. ELK 工作原理

  1. 在需要收集日志的服务器上部署 Logstash(或使用 Filebeat 先收集到日志服务器)。

  2. Logstash 收集日志并格式化后写入 Elasticsearch。

  3. Elasticsearch 对数据进行索引和存储。

  4. Kibana 从 Elasticsearch 查询数据并生成图表展示。

实验环境规划(本次实验未使用node2,配置仅供参考)

节点名称 IP地址 部署服务
Node1 192.168.114.252 Elasticsearch、Kibana
Node2 192.168.10.14 Elasticsearch
Apache节点 192.168.114.251 Logstash、Apache
Filebeat节点 192.168.114.253 Filebeat

基础环境准备

系统配置

在所有节点上执行以下操作:

bash

# 关闭防火墙和SELinux
systemctl stop firewalld
setenforce 0

# 设置主机名(分别在对应节点执行)
hostnamectl set-hostname node1    # Node1节点
hostnamectl set-hostname node2    # Node2节点
hostnamectl set-hostname apache   # Apache节点
hostnamectl set-hostname filebeat # Filebeat节点

# 配置主机解析
echo "192.168.114.252 node1" >> /etc/hosts
echo "192.168.10.14 node2" >> /etc/hosts
echo "192.168.114.251 apache" >> /etc/hosts
echo "192.168.114.253 filebeat" >> /etc/hosts

# 安装Java环境
yum -y install java
java -version

Elasticsearch集群部署

安装Elasticsearch

在Node1和Node2节点上执行:

bash

cd /opt
rpm -ivh elasticsearch-6.6.1.rpm
systemct
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值