kubernetes下用logstash代替efk中的fluentd

本文介绍了将kubernetes中的efk日志收集组件fluentd替换为logstash的过程,原因是fluentd存在日志延迟和准确性问题。作者选择使用logstash结合自建的rabbitmq集群,替代原本的kafka,以降低成本并提高效率。简要步骤包括编写logstash配置文件,使用configMap部署到kubernetes,并提供了相关参考资料。
摘要由CSDN通过智能技术生成

前言

目前我们的系统架构,从阿里云的docker compose(swarm)迁移到了自建的kubernetes,而我们的日志系统也几经周折。从最开始的阿里云docker compose(swarm)环境下的elk + kafka,使用了一段时间后由于老板觉得阿里云的kafka收费价格不怎么划算,并且线上服务器的资源吃紧,然后切换到了阿里云的日志服务。线上切换到kubernetes以后,又使用efk搜集了一段时间日志,后来发现fluentd搜集的日志存在一些延迟问题和准确性问题,并且变更配置搜集特定的日志时较为繁琐,于是准备把fluentd换为logstash + rabbit,期间对比了下redis,rabbit和kafka,最终选择了在用的自建的rabbit集群,由于近期事情较多,精力有限,此文只会阐述关于logstash和rabbit相关使用的过程,关于rabbit自建集群,以及k8s的efk,以及elk搭建,后面会逐一补充。

简要步骤
  1. 编写logstash的配置文件logstash.conf 建议先在本地使用docker部署logstash,然后在本地进行测试,成功后再部署到kubernetes环境
input {
    rabbitmq {
      type => "app-log"
      host => "your rabbitmq host"
      user => "your user"
      password => "your password"
      port => 5672
      exchange => "exchange_logs"
      exchange_type => "direct"
      queue => "queue_logs"
      ack => false
      durable => true
    }
   }

   output {
    elasticsearch {
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值