无法将Splunk与Jenkins集成

时间:2018-06-24 13:48:04

标签: jenkins amazon-ec2 splunk

我已经在AWS EC2实例上安装了Jenkins,并且运行良好。我已经在同一EC2实例上安装了Splunk。

My Jenkins URL:-
http://10.x.x.x:8080

And my Splunk URL:-
http://10.x.x.x:8000

我也在Jenkins上安装了Splunk插件,并尝试使用Jenkins配置Splunk,以便来自Jenkins的数据将作为Splunk的源。我尝试了很多,但是没有用。在Splunk上,我创建了一个“ HTTP事件收集器”令牌,并尝试使用此令牌在Jenkins上进行配置。

在Jenkins上-> Manage Jenkins-> Configure System,在“ Splunk for Jenkins Configuration”下,

**enable checkbox -> checked, 
indexer hostname -> host IP address of Splunk (which is same as Jenkins)
HTTP Input Port -> 8088
HTTP Input Token -> <<< Token generated at Splunk side >>>
SSL Enabled -> Checked (tried with uncheck as well)
Jenkins Master Hostname -> Host name of Jenkins (same as Splunk)**

当我单击“测试连接”时,什么也没有发生并且失败。请协助清除我的以下疑问:- Q1)我搜索了一下,发现Splunk的HTTP输入端口是8088,然后是8000。我可以使用8000访问Splunk控制台。那么它应该是8000,而不是8088?

Q2)由于Splunk和Jenkins尽管它们的主机名相同,但它们都在不同的端口上运行,所以我认为应该不会有任何连接问题。请确认。

Q3)我是否有什么想让Splunk与Jenkins最终融洽的东西?

1 个答案:

答案 0 :(得分:0)

端口8000用于Splunk GUI / Web /登录页面URL。

端口8089用于Splunk守护程序的端口#

端口8088 /您可以输入的其他任何端口(如果是HEC(HTTP事件收集器)的话)。

由于端口不同,您会没事的。

HTTP事件收集器在什么端口和协议上接收数据,我该如何更改?

默认情况下,HTTP事件收集器通过TCP端口8088上的HTTPS接收数据。您可以通过单击HTTP Event Collector管理页面顶部的“全局设置”按钮来更改端口以及禁用HTTPS。

当您配置新令牌(以获取令牌和HTTP输入连接器端口(默认或任何用户定义))时,即执行此操作时: Splunk>设置>数据输入> HTTP事件收集器>全局设置新令牌,您是否为“所有令牌”选择了“启用”按钮(如果选择,通常具有blue color边界线)按钮?

http://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector

如果正确配置了HEC(HTTP事件收集器),则从主机Linux $提示符下,您应该能够成功进行CURL这样的操作。注意:如果位于https下方,则端口8088,如果在HEC配置中启用了端口,则10.80.x.x.x,如果您的计算机IP并假设B5A79AAD-D822-46CC-80D1-819F80D7BFB0是您的令牌(由Splunk生成),则为10.x.x.x。

curl -k https://10.x.x.x:8088/services/collector/event -H“授权:Splunk B5A79AAD-D822-46CC-80D1-819F80D7BFB0” -d'{“ event”:“ hello world”}' >

{"text": "Success", "code": 0}

您是否考虑过安装与Jenkins Add-On(在Jenkins中可用)一起工作的Splunk plugin(在Splunk中)?这是将Jenkins指标纳入Splunk(此Jenkins附加组件/应用程序提供的索引)的另一种方法,您也应检查它是否提供了开箱即用的仪表板等。

Splunk插件(位于Jenkins中)与用于Jenkins的Splunk应用程序一起使用,该应用程序提供了现成的仪表板和搜索功能,以使组织能够运行高性能的Jenkins集群并将运营智能纳入软件开发生命周期中

运行ps -eAf|grep -i splunk,查看显示了哪些端口,尤其是splunkd(守护程序)服务的端口,通常为8089。尝试这样做,看看上面的输出中是否没有8088,这是否有帮助命令。如果netstat -tulpn |grep 8088在主机上监听,应该显示大约8088。

在此处查看有关配置Splunk插件的完整文档(Jenkins可用)。https://wiki.jenkins.io/display/JENKINS/Splunk+Plugin+for+Jenkins 确保至少配置步骤1和2。第四步是可选步骤。

以及如何在Splunk中配置Jenkins应用程序/附加组件:https://splunkbase.splunk.com/app/3332/

直到在Jenkins主/全局配置(在Splunk中进行Jenkins配置)下,您都可以通过单击“测试连接”来验证连接已通过验证,然后才能将Jenkins数据(JSON Blob)推送到Splunk索引(可通过Jenkins Add-on/App获得)在Splunk中)。