You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logstash配置语法错误求助:output段报Expected one of...错误

Logstash配置语法错误排查(第93行)

错误信息

[2024-05-21T16:03:45,523][ERROR][logstash.agent ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:logstash, :exception=>"LogStash::ConfigurationError", :message=>"Expected one of [ \t\r\n], "#", "(" at line 93, column 28 (byte 2170) after output {\r\n if [new_entries] == true ", :backtrace=>["C:/elastic-stack/logstash-8.13.2/logstash-core/lib/logstash/compiler.rb:32:in `compile_imperative'", "org/logstash/execution/AbstractPipelineExt.java:239:in `initialize'", "org/logstash/execution/AbstractPipelineExt.java:173:in `initialize'", "C:/elastic-stack/logstash-8.13.2/logstash-core/lib/logstash/java_pipeline.rb:48:in `initialize'", "org/jruby/RubyClass.java:931:in `new'", "C:/elastic-stack/logstash-8.13.2/logstash-core/lib/logstash/pipeline_action/create.rb:49:in `execute'", "C:/elastic-stack/logstash-8.13.2/logstash-core/lib/logstash/agent.rb:386:in `block in converge_state'"]}

问题分析

错误明确指向第93行if [new_entries] == true之后的语法不符合编译预期,常见诱因包括:

  • 布尔值判断的语法格式错误,缺少必要空格或符号
  • if语句未正确跟随左大括号{
  • 存在不可见特殊字符(如全角空格、异常换行符)干扰编译逻辑

排查步骤

  • 修正if语句写法:确保==前后有空格,且true后紧跟左大括号,标准格式示例:
    if [new_entries] == true {
      # 输出逻辑代码
    }
    
  • 简化布尔判断:Logstash支持直接用if [new_entries]判断字段为真,可规避== true的语法风险:
    if [new_entries] {
      # 输出逻辑代码
    }
    
  • 检查特殊字符:将配置粘贴到纯文本编辑器(如VS Code、Notepad++),开启「显示所有字符」功能,排查是否存在不可见的异常字符。
  • 核对output块结构:确保所有if/else语句的大括号完全闭合,无嵌套层级错误。

若排查后仍未解决,可提供完整配置代码进一步定位问题。

内容的提问来源于stack exchange,提问作者Danyal Danish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:12:39