java - cURL 发布到 Jenkins 上的 Splunk HEC

标签 java http jenkins curl splunk

我正在将带有 cURL 的发布请求发送到 Jenkins 中的 Splunk HTTP 事件收集器 (HEC)。

当我登录Jenkins服务器并直接在命令行上执行curl命令时,它就起作用了。但是,当使用 Java 构建命令并通过 Jenkins 发送它时,它不会记录任何内容。

new ProcessBuilder().command("curl", "-k", "-X", "POST", environment.getVar("SPLUNK_URL"),
            environment.getVar("SPLUNK_CHANNEL"), "-H", "'Authorization:Splunk", environment.getVar("SPLUNK_TOKEN"), "'",
                "-H", "'Cache-Control:no-cache'", "-d","'{\"sourcetype\":\"json\",\"event\":", toSimpleJSON(output),
                "}'").start().waitFor(5, TimeUnit.SECONDS);

我希望在 Jenkins 主机上运行的命令也可以与 Java 的 ProcessBuilder 一起运行。

最佳答案

您可以在请求的元数据中指定索引。请注意,您的 HEC token 可能会限制其可以写入的索引 - 创建 token 时请检查此项。

new ProcessBuilder().command("curl", "-k", "-X", "POST", environment.getVar("SPLUNK_URL"),
            environment.getVar("SPLUNK_CHANNEL"), "-H", "'Authorization:Splunk", environment.getVar("SPLUNK_TOKEN"), "'",
                "-H", "'Cache-Control:no-cache'", "-d","'{\"sourcetype\":\"json\",\"index\":\"jenkins_index\",\"event\":", toSimpleJSON(output),
                "}'").start().waitFor(5, TimeUnit.SECONDS);

更多详情请访问http://dev.splunk.com/view/event-collector/SP-CAAAE6P

关于java - cURL 发布到 Jenkins 上的 Splunk HEC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56637937/

相关文章:

java 。远程服务器返回 503 错误页面,其中包含一些文本。如何获取这段文字?

objective-c - 在 Objective-C 中在 iPhone 上使用 HTTP POST 和 GET 的教程

java - 在 spring 中禁用复选框并将选中的值传递给 Controller

java - java中&的正确使用

java - 使用 ant 构建 jar 文件时出现错误

java - 非法参数异常 : wrong number of arguments

javascript - http 当用户关闭浏览器时放置

authentication - SSH 访问 Github : shell okay, Jenkins 失败

jenkins - Jenkins 管道中基于时间的步骤的默认单位

git - 如果从 bitbucket 触发时它们发生了变化,我怎样才能让 Jenkins 只构建功能分支