【问题标题】:Logstash when launched as service keeps restartingLogstash 在作为服务启动时不断重启
【发布时间】:2017-12-11 14:05:57
【问题描述】:

所以我遇到了与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 作为服务时尝试做同样的事情时,它会不断导入数据并一遍又一遍地重新启动。

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

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

【问题讨论】:

    标签: ubuntu elasticsearch jdbc logstash


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2016-05-20
        • 1970-01-01
        • 2014-01-21
        • 1970-01-01
        • 2016-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-04
        相关资源
        最近更新 更多