首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins Logstash插件不向Logstash发送数据

Jenkins Logstash插件不向Logstash发送数据
EN

Stack Overflow用户
提问于 2017-06-10 00:49:45
回答 1查看 2.5K关注 0票数 1

我想使用插件将Jenkins日志发送到Logstash。

我就是这样在Jenkins中配置Logstash插件的:

jenkins-logstash-plugin配置1:https://i.stack.imgur.com/EsIgY.png

我假设在logstash.conf中,我必须在输入部分使用HTTP:

代码语言:javascript
复制
input {
  http {
    host => "127.0.0.1"
    port => 31311
  }
}

但是在Jenkins构建日志中,我可以看到错误:

代码语言:javascript
复制
> [logstash-plugin]: Failed to send log data to
> ELASTICSEARCH:http://host_name:31311. [logstash-plugin]: No Further
> logs will be sent to http://host_name:31311.
> org.apache.http.conn.HttpHostConnectException: Connect to
> host_name:31311 [/host_name] failed: Connection refused (Connection
> refused)  at
> org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151)
>   at
> org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
> ... 
> Caused by: java.net.ConnectException: Connection refused
> (Connection refused)  at java.net.PlainSocketImpl.socketConnect(Native
> Method)   at
> java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

当我将Jenkins配置中的端口号更改为Elasticsearch端口9200而不是31311时,错误就消失了。但在这种情况下,数据直接写入Elasticsearch。

如何让Jenkins将构建日志发送到Logstash?

更新:我现在能够在Logstash中发送和获取日志,一切正常。但是在Jenkins控制台中,我可以看到向Logstash发送日志时的错误,这可以接受吗?

代码语言:javascript
复制
20:54:11 [logstash-plugin]: Failed to send log data to ELASTICSEARCH:host_name:31311.
20:54:11 [logstash-plugin]: No Further logs will be sent to host_name:31311.
20:54:11 java.io.IOException: HTTP error code: 200
20:54:11 URI: host_name:31311/jenkins-qa/type
20:54:11 RESPONSE: HttpResponseProxy{HTTP/1.1 200 OK [Content-Type: text/plain, Content-Length: 2] ResponseEntityProxy{[Content-Type: text/plain,Content-Length: 2,Chunked: false]}}
20:54:11 ok
20:54:11    at jenkins.plugins.logstash.persistence.ElasticSearchDao.push(ElasticSearchDao.java:113)
20:54:11    at jenkins.plugins.logstash.LogstashWriter.write(LogstashWriter.java:147)
20:54:11    at jenkins.plugins.logstash.LogstashWriter.writeBuildLog(LogstashWriter.java:116)
20:54:11    at jenkins.plugins.logstash.LogstashNotifier.perform(LogstashNotifier.java:63)
20:54:11    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
20:54:11    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
20:54:11    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)
20:54:11    at hudson.model.Build$BuildExecution.post2(Build.java:186)
20:54:11    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)
20:54:11    at hudson.model.Run.execute(Run.java:1753)
20:54:11    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
20:54:11    at hudson.model.ResourceController.execute(ResourceController.java:98)
20:54:11    at hudson.model.Executor.run(Executor.java:405)
20:54:11 Finished: SUCCESS
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-11 05:26:39

正如OP提到的,第一个问题是凭据问题(用户名、密码、密钥)。

第二个错误消息("No Further logs will be sent to... ")是在这里看到的,它意味着:

  • url必须在JENKINS Logstash插件中定义,
  • 您可以自己尝试编译(并手动安装.hpi文件)插件,因为有关该异常的错误在两天前刚刚修复:PR 22;参见提交5078
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44468437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档