繁体   English   中英

作为服务启动时的 Logstash 不断重启

[英]Logstash when launched as service keeps restarting

所以我遇到了与https://discuss.elastic.co/t/consistent-restarts-of-logstash-with-high-cpu-recorded/86597 中描述的完全相同的问题:

我在 Ubuntu 上将 Logstash 作为服务运行。 我正在启动它

sudo systemctl start logstash.service

我的任务很简单:以一次性方式将数据从 jdbc (MySQL) 导入 Elasticsearch(因此没有调度选项。没有 cron 计时器)。 因此,在上面的链接中,我使用的是 JDBC 输入过滤器。 和 elasticsearch 输出过滤器。

当我直接通过命令行 (logstash -f conf_file) 启动 logstash 时,我设法让它正常工作:logstash 启动、导入数据并关闭。 正如预期的那样。

现在,当我在将 logstash 作为服务启动时尝试做同样的事情时,它会不断导入数据并一遍又一遍地重新启动。

上面的链接提供了解决方案,但实际上是错误的。 它说当没有指定“schedule”选项时,将使用默认的 1 分钟计时器。 这与文档在这里所说的直接矛盾:

默认情况下没有时间表。 如果没有给出时间表,那么语句只运行一次。

这是我认为的解释:当logstash作为服务启动并且配置文件没有“计划”选项时,一旦完成导入数据,logstash就会自行关闭。 问题在于,因为它是作为服务启动的,所以服务管理器(systemctl)检测到该服务离线并一遍又一遍地“复活”它。

使用计划选项时,服务会显示活动状态,因此没有问题。

还有一种情况:logstash conf文件没有正确写入时,logstash不断重启,所以如果你有这个问题,首先检查syntaxe是否正确

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM