使用filebeat收集kubernetes容器日志

kubernetes官方插件使用EFK来处理容器日志, 其中F指代Fluentd(Fluentd属于CNCF项目), 用于收集容器的日志。但是由于Fluentd用起来的确不怎么舒服(Ruby风格配置文件), 而Logstash又过于重量级(光启动就需要消耗大约500M内存), 而Elatic家族的Beats系列中的Filebeat既轻量又无依赖, 因此是作为DaemonSet部署的不二之选。

架构

在进行日志收集的过程中, 我们首先想到的是使用Logstash, 因为它是ELK stack中的重要成员, 但是现在的ELK家族的产品有了新的变化:

从中可以看出Logstash的定位变了, 它用于日志的原始数据的分析和转换(grok), 因此在轻量级的方案中首选Beats系列, 下面是基于ELK改造过后的基于Filebeat的容器日志处理方案:

依赖部署

在Kubernetes中以DaemonSet部署Filebeat之前, 我们需要先做如下准备:

  • 安装Elasticsearch, Kibana
  • 安装Filebeat用于测试EFK已经能正常工作
  • 以DaemonSet部署Filebeat

部署Elasticsearch和Kibana

在部署Filebeat之前需要先部署Elasticsearch和Kibana, 关于这2部分的部署请参考:

安装完成后确认服务都已经对外提供服务:

[root@es-with-kb ~]# netstat -tlnup | grep -E  '(:9200 |:5601)'
tcp        0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN      2503/./bin/../node/
tcp6       0      0 :::9200                 :::*                    LISTEN      2367/java

对ES添加添加一些我们需要的插件

cd /usr/share/elasticsearch
# 安装插件 ES的地图需要使用GEOIP来解索IP的经纬度, 所以ES
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值