jenkins logstash-plugin 无法 post 到 elasticSearch
jenkins logstash-plugin unable to post to elasticSearch
我已经为 jenkins 安装了 logstash-plugin 并将其配置为使用索引器作为弹性搜索。
执行作业时出现以下错误:
16:56:12 [logstash-plugin]: Failed to send log data to ELASTICSEARCH:http://localhost:9200.
16:56:12 [logstash-plugin]: No Further logs will be sent to http://localhost:9200.
16:56:12 java.io.IOException: HTTP error code: 200
16:56:12 URI: http://localhost:9200/logstash-jenkins
16:56:12 RESPONSE: HttpResponseProxy{HTTP/1.1 200 OK [Content-Type: application/json; charset=UTF-8, Content-Length: 21] ResponseEntityProxy{[Content-Type: application/json; charset=UTF-8,Content-Length: 21,Chunked: false]}}
16:56:12 {"acknowledged":true}
16:56:12 at jenkins.plugins.logstash.persistence.ElasticSearchDao.push(ElasticSearchDao.java:113)
16:56:12 at jenkins.plugins.logstash.LogstashWriter.write(LogstashWriter.java:147)
16:56:12 at jenkins.plugins.logstash.LogstashWriter.write(LogstashWriter.java:85)
16:56:12 at jenkins.plugins.logstash.LogstashOutputStream.eol(LogstashOutputStream.java:58)
16:56:12 at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
16:56:12 at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
16:56:12 at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
16:56:12 at java.io.PrintStream.write(PrintStream.java:480)
16:56:12 at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
16:56:12 at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
16:56:12 at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
16:56:12 at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
16:56:12 at java.io.PrintStream.newLine(PrintStream.java:546)
16:56:12 at java.io.PrintStream.println(PrintStream.java:807)
16:56:12 at hudson.model.Cause$UserIdCause.print(Cause.java:426)
16:56:12 at hudson.model.StreamBuildListener.started(StreamBuildListener.java:75)
16:56:12 at hudson.model.Run.execute(Run.java:1723)
16:56:12 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
16:56:12 at hudson.model.ResourceController.execute(ResourceController.java:98)
16:56:12 at hudson.model.Executor.run(Executor.java:410)
希望能提供有关如何修复此错误的任何线索。
谢谢
- 普拉泰克
在 Jenkins 插件中,您需要定义包含 [yourindex]/[yourtype] 的 elasticsearch url,如下所示:
http://localhost:9200/yourindex/yourtype
希望对你有帮助。
您是否正在尝试使用 Logstash 将日志输入 Elasticsearch?尽管被称为 'Logstash Plugin',但 Jenkins Logstash 插件不支持此功能。我发现当我尝试将日志直接发送到 Elasticsearch 时,插件工作正常,但是当我尝试通过 Logstash 时,我遇到了与您相同的错误。
目前在 Jenkins Logstash github 中有一个 pull request 来修复这个错误 (https://github.com/jenkinsci/logstash-plugin/pull/22),但是由于插件已经 10 个月没有活动了(在撰写本文时)我不抱太大希望了。
如果您想将日志直接发送到 Elasticsearch,您需要配置 Elasticsearch 以监听远程连接。在 elasticsearch.yml 中设置以下内容:
network.host: 0.0.0.0
http.port: 7590
然后在Jenkins中设置Elasticsearchurl为http://:7590/
希望对您有所帮助!
我已经为 jenkins 安装了 logstash-plugin 并将其配置为使用索引器作为弹性搜索。
执行作业时出现以下错误:
16:56:12 [logstash-plugin]: Failed to send log data to ELASTICSEARCH:http://localhost:9200.
16:56:12 [logstash-plugin]: No Further logs will be sent to http://localhost:9200.
16:56:12 java.io.IOException: HTTP error code: 200
16:56:12 URI: http://localhost:9200/logstash-jenkins
16:56:12 RESPONSE: HttpResponseProxy{HTTP/1.1 200 OK [Content-Type: application/json; charset=UTF-8, Content-Length: 21] ResponseEntityProxy{[Content-Type: application/json; charset=UTF-8,Content-Length: 21,Chunked: false]}}
16:56:12 {"acknowledged":true}
16:56:12 at jenkins.plugins.logstash.persistence.ElasticSearchDao.push(ElasticSearchDao.java:113)
16:56:12 at jenkins.plugins.logstash.LogstashWriter.write(LogstashWriter.java:147)
16:56:12 at jenkins.plugins.logstash.LogstashWriter.write(LogstashWriter.java:85)
16:56:12 at jenkins.plugins.logstash.LogstashOutputStream.eol(LogstashOutputStream.java:58)
16:56:12 at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
16:56:12 at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
16:56:12 at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
16:56:12 at java.io.PrintStream.write(PrintStream.java:480)
16:56:12 at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
16:56:12 at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
16:56:12 at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
16:56:12 at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
16:56:12 at java.io.PrintStream.newLine(PrintStream.java:546)
16:56:12 at java.io.PrintStream.println(PrintStream.java:807)
16:56:12 at hudson.model.Cause$UserIdCause.print(Cause.java:426)
16:56:12 at hudson.model.StreamBuildListener.started(StreamBuildListener.java:75)
16:56:12 at hudson.model.Run.execute(Run.java:1723)
16:56:12 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
16:56:12 at hudson.model.ResourceController.execute(ResourceController.java:98)
16:56:12 at hudson.model.Executor.run(Executor.java:410)
希望能提供有关如何修复此错误的任何线索。
谢谢 - 普拉泰克
在 Jenkins 插件中,您需要定义包含 [yourindex]/[yourtype] 的 elasticsearch url,如下所示: http://localhost:9200/yourindex/yourtype 希望对你有帮助。
您是否正在尝试使用 Logstash 将日志输入 Elasticsearch?尽管被称为 'Logstash Plugin',但 Jenkins Logstash 插件不支持此功能。我发现当我尝试将日志直接发送到 Elasticsearch 时,插件工作正常,但是当我尝试通过 Logstash 时,我遇到了与您相同的错误。
目前在 Jenkins Logstash github 中有一个 pull request 来修复这个错误 (https://github.com/jenkinsci/logstash-plugin/pull/22),但是由于插件已经 10 个月没有活动了(在撰写本文时)我不抱太大希望了。
如果您想将日志直接发送到 Elasticsearch,您需要配置 Elasticsearch 以监听远程连接。在 elasticsearch.yml 中设置以下内容:
network.host: 0.0.0.0 http.port: 7590
然后在Jenkins中设置Elasticsearchurl为http://:7590/
希望对您有所帮助!