kubernetes集群中logstash无法正常启动采集数据

Posted saynaihe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kubernetes集群中logstash无法正常启动采集数据相关的知识,希望对你有一定的参考价值。

背景:

集群基本参照:Kuberentes 1.20.5搭建eck(当然了我的套件是7.6.2版本的elastic)。本来eck版本是1.1左右的版本,7.24把集群玩坏了。存储使用的local pv的方式。直接将硬盘在集群内摘掉挂载在了另外一个集群内(同一个vpc的腾讯云cvm)。当然了 这里面也搭建了一套elastic集群,eck版本是1.6的。事实证明将elastic直接copy过来部署 还是可以的。集群都跑起来了用户权限也都保留了。都可以正常使用。但是出现了一个问题:我的日志收集系统是从kafka用logstash收集的。比较low的是持久化存储用的是nfs(使用中腾讯云的nfs服务是相当的性能差,不建议使用。当然也可能是我的用法不对。但是读写性能要求搞的应用还是老老实实挂载云硬盘吧)。
重新部署了一遍logstash。应用启动不到10秒就挂了。日志中有用的就下面的截图。

          create at org/logstash/execution/ConvergeResultExt.java:109
             add at org/logstash/execution/ConvergeResultExt.java:37
  converge_state at /usr/share/logstash/logstash-core/lib/logstash/agent.rb:339

问题排查:

是否资源不够

当然了 describe 了一下node 发现node直接把logstash应用直接OOMKill了。资源超卖…。先排除一下是否是资源的问题。方法就是logstash部署文件加了一个nodeselector调度到了相对空闲的主机上面。重新部署文件后比原来多跑了几秒又挂了…

持久化文件写坏了?

会不会是我的nfs上的持久化存储文件有问题呢?cp了一下持久化存储的文件。然后删除了文件夹下的queue:

rm -rf queue/

重新部署了一遍logstash。ok应用启动了。一分钟搞过来了400万条日志

以上是关于kubernetes集群中logstash无法正常启动采集数据的主要内容,如果未能解决你的问题,请参考以下文章

Kubernetes 企业项目实战04基于 K8s 构建 EFK+logstash+kafka 日志平台(中)

我在两个EC-2实例和仪表板上设置了Kubernetes集群但是我无法在浏览器上访问kubernetes仪表板的ui

kubernetes集群部署

使用 TcpDiscoveryKubernetesIpFinder 在 Kubernetes 集群中无法发现 Ignite

papertrail 的 fluentd 守护程序集容器无法在 kubernetes 集群中启动

pod 无法访问本地机器 Kubernetes 服务