elasticsearch Logstash:TypeError:没有将nil隐式转换为字符串,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch Logstash:TypeError:没有将nil隐式转换为字符串,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch Logstash:TypeError:没有将nil隐式转换为字符串

elasticsearch Logstash:TypeError:没有将nil隐式转换为字符串,elasticsearch,logstash,elasticsearch,Logstash,我是ELK的新手,尝试将第三方RESTAPI输入Logstash,以便将数据输入其中。我得到了TypeError:没有将nil隐式转换为字符串 我正在使用http_input_poller插件提供数据。下面是它的配置 input { http_poller { urls => { test1 => "https://example.com/api/now/table/sys_user?sysparm_limit=1" } request_tim

我是ELK的新手,尝试将第三方RESTAPI输入Logstash,以便将数据输入其中。我得到了TypeError:没有将nil隐式转换为字符串

我正在使用http_input_poller插件提供数据。下面是它的配置

input {
  http_poller {
    urls => {
      test1 => "https://example.com/api/now/table/sys_user?sysparm_limit=1"
    }
    request_timeout => 60
    # Supports "cron", "every", "at" and "in" schedules by rufus scheduler
    schedule => { cron => "* * * * * UTC"}
    codec => "json"
    # A hash of request metadata info (timing, response headers, etc.) will be sent here
    metadata_target => "http_poller_metadata"
  }
}

output {
  stdout {
    codec => rubydebug
  }
}
我正在使用此命令运行

sudo./logstash-f logstash\u http\u poller.conf--path.settings/etc/logstash/--path.data

我收到了这个错误消息

masteradmin@usr:/usr/share/logstash/bin$ sudo ./logstash -f logstash_http_poller.conf --path.settings /etc/logstash/ --path.data
[FATAL] 2020-03-18 07:07:07.377 [main] runner - An unexpected error occurred! {:error=>#<TypeError: no implicit conversion of nil into String>, :backtrace=>["org/jruby/RubyFileTest.java:96:in `directory?'", "org/jruby/RubyFileTest.java:88:in `directory?'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:510:in `block in value'", "org/jruby/RubyKernel.java:1906:in `tap'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:509:in `value'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:97:in `get_value'", "/usr/share/logstash/logstash-core/lib/logstash/environment.rb:94:in `block in LogStash'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:167:in `block in post_process'", "org/jruby/RubyArray.java:1814:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:166:in `post_process'", "/usr/share/logstash/logstash-core/lib/logstash/util/settings_helper.rb:26:in `post_process'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:246:in `execute'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:242:in `run'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'", "/usr/share/logstash/lib/bootstrap/environment.rb:73:in `<main>'"]}
[ERROR] 2020-03-18 07:07:07.386 [main] Logstash - java.lang.IllegalStateException: Logstash stopped processing because of an error: (SystemExit) exit
masteradmin@usr:/usr/share/logstash/bin$sudo./logstash-f logstash_http_poller.conf--path.settings/etc/logstash/--path.data
[致命]2020-03-18 07:07:07.377[主要]跑步者-发生意外错误!{:error=>#,:backtrace=>[“org/jruby/RubyFileTest.java:96:in`directory?”,“org/jruby/RubyFileTest.java:88:in`directory?”,“/usr/share/logstash/logstash core/lib/logstash/settings.rb:510:in`block in value',“org/jruby/RubyKernel.java:1906:in`tap'”,/usr/share/logstash/logstash core/lib/logstash/settings.rb:509:in`value',“/usr/share/logstash/logstash core/lib/logstash/settings.rb:97:in‘get_value’”、/usr/share/logstash/logstash core/lib/logstash/environment.rb:94:in‘block in logstash’、/usr/share/logstash/logstash core/lib/logstash/settings.rb:167:in‘block in in post_进程’、‘org/jruby/RubyArray.java:1814:in‘each’”/usr/share/logstash/logstash core/lib/logstash/settings.rb:166:in‘post_process’,“/usr/share/logstash/logstash core/lib/logstash/util/settings_helper.rb:26:in‘post_process’,”/usr/share/logstash/logstash core/lib/logstash/runner.rb:246:in‘execute’,”/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in‘run’,/usr/share/logstash/logstash-core/lib/logstash/runner.rb:242:in‘run’,/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/clamp-0.6.5/lib/clamp/command.rb:132:in‘run’,/usr/share/logstash/logstash/lib/bootstrap/environment.73:in‘run’。”
[错误]2020-03-18 07:07:07.386[主要]日志存储-java.lang.IllegalStateException:日志存储由于错误而停止处理:(SystemExit)退出

需要帮助。谢谢。

在对错误消息进行一些分析之后,我坚信发生此错误的原因是未指定
--path.data
参数的值

  • TypeError:没有将nil隐式转换为字符串>
    可能表明nil(不存在的路径)无法转换为字符串(路径/参数值必须是什么)

  • RubyFileTest.java:96:in``目录?'
    表示ruby类需要一个有效的目录

因此,请在run命令中为参数指定一个值,并告诉我这是否解决了问题

编辑:


path.data参数不是必需的,因此可以将其删除。默认位置是提取二进制文件的目录中的数据文件夹。(参见参考)

我的建议成功了吗?请给我一些反馈!我尝试过用一些随机文件路径给--path.data,然后关闭logstash,这对我来说很有效。谢谢,不客气。很高兴我能帮助你。