介绍
Elasticsearch
是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。
Beats 是数据采集的得力工具。将 Beats 和您的容器一起置于服务器上,或者将 Beats 作为函数加以部署,然后便可在 Elastisearch 中集中处理数据。如果需要更加强大的处理性能,Beats 还能将数据输送到 Logstash 进行转换和解析。
Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。不仅如此,您还可以使用 Vega 语法来设计独属于您自己的可视化图形。所有这些都利用 Elasticsearch 的完整聚合功能。
Elasticsearch 通常与 Kibana
一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Dashboard,Kibana 允许你通过 web 界面来浏览 Elasticsearch 日志数据。
EFK架构图:
安装
这里采用helm chart安装
官方地址:https://github.com/elastic/helm-charts
1.安装elasticsearch
$ helm fetch elastic/elasticsearch
$ kubectl create ns logs
$ helm repo add elastic https://helm.elastic.co
#修改values.yaml文件中pv为storageClass动态分配
volumeClaimTemplate:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "managed-nfs-storage"
resources:
requests:
storage: 30Gi
$ helm install -n elasticsearch --namespace=logs ./elasticsearch
查看状态
2.安装kibana
$ helm fetch elastic/kibana
#修改values.yaml文件中service为nodePort类型
service:
type: NodePort
port: 5601
nodePort: 30056
$ helm install -n kibana --namespace=logs ./kibana
查看状态
3.安装filebeat
$ helm fetch elastic/filebeat
#默认读取的是节点/var/lib下的所有文件
# Root directory where Filebeat will write data to in order to persist registry data across pod restarts (file position and other metadata).
hostPathRoot: /var/lib
$ helm install -n kibana --namespace=logs ./kibana
查看状态,因为是DaemonSet类型所以每台node都会装一个。
使用
登录kibana,创建index
可以过滤日志
来源:oschina
链接:https://my.oschina.net/u/4361306/blog/3478040