一、简介
ELK 平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。
- Elasticsearch 服务
Elasticsearch: 作为一款分布式、RESTful 风格的搜索引擎,Elasticsearch 提供了近实时的全文搜索和分析功能。它能高效地存储、检索和分析海量数据,并且支持水平扩展,以满足大规模数据处理的需求。
- Logstash 服务
Logstash: Logstash 是一个开源的数据收集引擎,可以同时从多个来源采集数据,然后进行过滤、转换,最终将结构化或非结构化的数据输出到你希望的目的地(如 Elasticsearch)。无论是系统日志、数据库记录还是应用程序日志,Logstash 都能轻松应对。
- Kibana 服务
Kibana: Kibana 是一个可视化平台,它可以对 Elasticsearch 中的数据进行深度分析和展示。通过构建丰富的仪表板和交互式图表,用户能够以直观的方式对日志数据进行实时监控、问题定位和趋势分析。
架构设计
参考官网设计图:
-
使用 es 进行存储、kibana 进行展示、logstash 进行日志格式化。
-
端侧统一采用各类 beat 对日志进行采集。
-
在应急响应中,重点是对日志文件、流量等进行采集。因此,本次 beat 将采用
filebeat、packetbeat、winlogbeat
进行日志采集和审计。
因 macbook 芯片 arm 架构限制,无法直接拉取sebp/elk
,因此依据官网文档部署 elk 容器镜像。
目标:在一个mac笔记本内,使用docker部署elk。后续用于日志采集和审计
1.1 环境准备
类型 | 版本 |
---|---|
mac book pro | m1 max |
docker | v4.30.0 |
ubuntu | Ubuntu 24.04 LTS |
elastic search | 8.14.3 |
kabana | 8.14.3 |
logstaish | 8.14.3 |
1.2 软件下载
- elastic search
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.14.3-linux-aarch64.tar.gz
- kabana
https://artifacts.elastic.co/downloads/kibana/kibana-8.14.3-linux-aarch64.tar.gz
- logstash
https://artifacts.elastic.co/downloads/logstash/logstash-8.14.3-linux-aarch64.tar.gz
我这里采用容器的部署方案,便于启停,本篇介绍也是以容器部署为例。
- elastic search
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.3
- kabana
docker pull docker.elastic.co/kibana/kibana:8.14.3
- logstash
docker pull docker.elastic.co/logstash/logstash:8.14.3
二、部署计划
使用 elk 做日志分析、审计,应急响应,初步计划的步骤为:
- 运行 elk 容器
- 环境配置
- 终端部署 filebeat
- 对日志进行格式化和解析
- 使用 kibana 进行图形化展示
- 运用大模型进行分析
2.1 运行 elk 容器
# 运行es容器 (可以把本地配置文件映射到容器,我没有映射)
docker run --name elasticsearch --restart=always -p 9200:9200 -itd docker.elastic.co/elasticsearch/elasticsearch:8.14.3
# 运行kibana容器
docker run -itd --name kibana --restart=always -p 127.0.0.1:5601:5601 docker.elastic.co/kibana/kibana:8.14.3
# 运行logstash容器
docker run -itd --name logstash --restart=always -p 5044:5044 docker.elastic.co/logstash/logstash:8.14.3