EFK
EFK由ElasticSearch、Fluentd和Kiabana三个开源工具组成。
Elasticsearch
- 一个分布式的实时文档存储,每个字段可以被索引与搜索。
- 一个分布式实时分析搜索引擎。
- 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据。
Fluentd
一个针对日志的收集、处理、转发系统。
运行步骤:
- 首先 Fluentd 从多个日志源获取数据
- 结构化并且标记这些数据
- 然后根据匹配的标签将数据发送到多个目标服务
Kibana
Kibana是一个开源的分析和可视化平台。
部署要点
- ES生产环境是部署ES集群,通常会使用Statefulset进行部署。
- ES的数据目录是通过宿主机的路径挂载,因此目录权限被主机的目录权限覆盖所以注意权限的问题。<chown -R 1000:1000 /usr/share/elasticsearch/data>
- Kibana需要暴漏web页面所以可搭配ingress。
- Fluentd为日志采集服务,通常会使用Daemonset进行部署。
- Fluentd需要配置RBAC规则,因为需要访问k8s api去根据日志查询元数据。
- 需要将fluentd的configmap中的配置文件挂载到容器内。
- 需要将/var/log/containers/目录挂载到容器中。