61 lines
2.4 KiB
Markdown
61 lines
2.4 KiB
Markdown
---
|
||
title: "ELK Stack"
|
||
type: concept
|
||
tags: [DevOps, Observability, Logging, OpenSource, AWS]
|
||
sources: [ctp-topic-54-esm-saas-log-analytics]
|
||
last_updated: 2026-04-25
|
||
---
|
||
|
||
# ELK Stack
|
||
|
||
**ELK Stack** 是由 Elasticsearch、Logstash 和 Kibana 三个开源组件组成的日志分析与全文检索技术栈,是企业级日志分析的业界标准方案。
|
||
|
||
## Components
|
||
|
||
| Component | Role | Description |
|
||
|-----------|------|-------------|
|
||
| **Elasticsearch** | 存储与检索引擎 | 分布式全文搜索和分析引擎,负责存储和查询日志数据 |
|
||
| **Logstash** | 数据处理管道 | 采集、解析和转换日志字段,为每列数据赋予语义 |
|
||
| **Kibana** | 可视化前端 | 日志文件可视化和分析的用户界面 |
|
||
| **BEATS** | 轻量级采集代理 | 部署在应用侧的日志采集器家族(Filebeat/Metricbeat 等) |
|
||
|
||
## Architecture
|
||
|
||
```
|
||
应用层 (Application VPC)
|
||
└── Filebeat (容器/DaemonSet) → 持续采集日志
|
||
↓
|
||
日志层 (Logging VPC)
|
||
└── Logstash → 解析日志字段
|
||
↓
|
||
└── (Redis Buffer, 可选) → 防止 Logstash 过载
|
||
↓
|
||
└── Elasticsearch / OpenSearch → 存储索引
|
||
↓
|
||
└── Kibana → 可视化查询
|
||
```
|
||
|
||
## OpenSearch (AWS Fork)
|
||
|
||
**OpenSearch** 是 Elasticsearch 7.10.2 的开源分支,由 AWS 主导维护,提供与 Elasticsearch 兼容的 API,作为 AWS 托管服务(Amazon OpenSearch Service)提供。ELK 栈中 Elasticsearch 可被 OpenSearch 无缝替代。
|
||
|
||
## Related Concepts
|
||
|
||
- [[Centralized-Logging]]:集中式日志管理的总体概念,ELK 是其核心实现技术
|
||
- [[Cloud-Monitoring]]:可观测性三支柱(指标/日志/链路追踪)之一
|
||
- [[OpenSearch]]:ELK 中 Elasticsearch 的 AWS 托管替代
|
||
- [[Kibana]]:ELK 栈的可视化层
|
||
- [[BEATS]]:ELK 栈的轻量级日志采集代理
|
||
|
||
## Key Claims
|
||
|
||
- ELK 栈是开源日志分析的标准方案,架构成熟、生态丰富
|
||
- Filebeat 常用作 Kubernetes 容器环境下的日志采集器(DaemonSet 部署)
|
||
- Logstash 作为处理管道,可解析 JSON/Nginx/Apache 等多格式日志
|
||
- OpenSearch 是 Elasticsearch 的开源分支,AWS 提供托管服务(OpenSearch Service)
|
||
- VPC 间日志传输走私有网络,不经过互联网
|
||
|
||
## Sources
|
||
|
||
- [[ctp-topic-54-esm-saas-log-analytics]]
|