5.24 日志收集实战:ELK Stack在Kubernetes中的部署与应用
日志存储和搜索Logstash:日志处理和转发Kibana:日志可视化✅ELK Stack部署✅Filebeat配置:DaemonSet部署✅最佳实践:配置建议。
·
5.24 日志收集实战:ELK Stack在Kubernetes中的部署与应用
引言
ELK Stack(Elasticsearch、Logstash、Kibana)是流行的日志收集和分析方案。在Kubernetes中部署ELK Stack可以实现集中式日志管理。本文将详细介绍ELK Stack的部署方法。
一、ELK Stack概述
1.1 组件
- Elasticsearch:日志存储和搜索
- Logstash:日志处理和转发
- Kibana:日志可视化
1.2 架构
应用 → Filebeat/Logstash → Elasticsearch → Kibana
二、部署Elasticsearch
2.1 使用Helm部署
helm repo add elastic https://helm.elastic.co
helm install elasticsearch elastic/elasticsearch \
--namespace logging \
--create-namespace \
--set replicas=3
2.2 基本配置
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: elasticsearch
spec:
serviceName: elasticsearch
replicas: 3
template:
spec:
containers:
- name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:8.8.0
env:
- name: discovery.seed_hosts
value: "elasticsearch-0,elasticsearch-1,elasticsearch-2"
三、部署Logstash
3.1 Logstash配置
apiVersion: v1
kind: ConfigMap
metadata:
name: logstash-config
data:
logstash.conf: |
input {
beats {
port => 5044
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
}
}
四、部署Kibana
4.1 Kibana部署
helm install kibana elastic/kibana \
--namespace logging \
--set elasticsearchHosts=http://elasticsearch:9200
五、Filebeat配置
5.1 Filebeat DaemonSet
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: filebeat
spec:
template:
spec:
containers:
- name: filebeat
image: docker.elastic.co/beats/filebeat:8.8.0
volumeMounts:
- name: varlog
mountPath: /var/log
- name: varlibdockercontainers
mountPath: /var/lib/docker/containers
volumes:
- name: varlog
hostPath:
path: /var/log
- name: varlibdockercontainers
hostPath:
path: /var/lib/docker/containers
六、最佳实践
6.1 配置建议
- 使用StatefulSet部署Elasticsearch
- 配置持久化存储
- 设置资源限制
- 监控集群健康
总结
通过本文,你学会了:
- ✅ ELK Stack部署:Elasticsearch、Logstash、Kibana
- ✅ Filebeat配置:DaemonSet部署
- ✅ 最佳实践:配置建议
下一步学习
- 5.25 日志聚合与分析
- 6.1 Bookinfo项目架构解析
思考题
- 如何部署高可用的Elasticsearch?
- 如何配置日志收集?
- 如何优化日志存储?
提示:ELK Stack是日志管理的标准方案。下一节我们将学习日志聚合方案对比。
更多推荐
所有评论(0)