【k8s】搭建EFK

本文介绍了如何在k8s环境中部署EFK日志收集系统,包括Elasticsearch、Fluentd和Kibana三个组件。Fluentd作为DaemonSet运行,收集k8s集群日志,Elasticsearch用于存储和搜索日志,Kibana提供日志数据的可视化界面。详细步骤包括节点标签设置、组件安装、Kibana的访问验证及日志索引创建。在遇到问题时,建议检查配置并重新部署。

EFK
EFK 插件是k8s项目的一个日志解决方案,它包括三个组件:Elasticsearch, Fluentd, Kibana;Elasticsearch 是日志存储和日志搜索引擎,Fluentd 负责把k8s集群的日志发送给 Elasticsearch, Kibana 则是可视化界面查看和检索存储在 Elasticsearch 的数据。

安装

$ kubectl create -f /etc/ansible/manifests/efk/
$ kubectl create -f /etc/ansible/manifests/efk/es-without-pv/

注意:
Fluentd 是以 DaemonSet 形式运行且只会调度到有
beta.kubernetes.io/fluentd-ds-ready=true
标签的节点(node节点),所以对需要收集日志的节点逐个打上标签:

$ kubectl label nodes 192.168.22.245 beta.kubernetes.io/fluentd-ds-ready=true

验证

$ kubectl get pods -n kube-system|grep -E 'elasticsearch|fluentd|kibana'
elasticsearch-logging-0                    1/1       Running   0          19h
elasticsearch-logging-1                    1/1       Running   0          19h
fluentd-es-v2.0.2-6c95c                    1/1       Running   0          17h
fluentd-es-v2.0.2-f2xh8                    1/1       Running   0          8h
fluentd-es-v2.0.2-pv5q5                    1/1       Running   0          8h
kibana-logging-d5cffd7c6-9lz2p             1/1       Running   0          1m

kibana Pod 第一次启动时会用较长时间(10-20分钟)来优化和 Cache 状态页面,可以查看 Pod 的日志观察进度,如下等待 Ready 状态

$ kubectl logs -n kube-system kibana-logging-d5cffd7c6-9lz2p -f
...
{"type":"log","@timestamp":"2018-03-13T07:33:00Z","tags":["listening","info"],"pid":1,"message":"Server running at http://0:5601"}
{"type":"log","@timestamp":"2018-03-13T07:33:00Z","tags":["status","ui settings","info"],"pid":1,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}

访问 Kibana

这里介绍 kube-apiserver方式访问,获取访问 URL

$ kubectl cluster-info | grep Kibana
Kibana is running at ....

浏览器访问 URL,然后使用 basic auth(参照hosts文件设置,默认:用户admin 密码test1234)。

创建Index

1. 登录成功以后,在 Settings -> Indices 页面创建一个 index(相当于 mysql 中的一个 database),选中 Index contains time-based events,使用默认的 logstash-* pattern,点击 Create ;

在这里插入图片描述

2. 创建 Index 后,稍等几分钟就可以在 Discover 菜单下看到 ElasticSearch logging 中汇聚的日志;

在这里插入图片描述

3. 如果可以登录成功,但是State是Red,那么就删除EFK,重新下载git上的文件,替换本地的manifests/efk/ 文件夹的内容,注意不要把整个集群的文件替换了。只替换efk文件夹的东西,然后重新按照以上步骤搭建一遍。就OK了。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值