cURL сообщение для Splunk HEC на Дженкинс - PullRequest
0 голосов
/ 17 июня 2019

Я отправляю запрос с cURL в Splunk HTTP Event Collector (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.

1 Ответ

0 голосов
/ 24 июня 2019

Вы можете указать индекс в метаданных запроса.Обратите внимание, что ваш токен HEC может быть ограничен тем, в какие индексы он может записывать. Проверьте это при создании токена.

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

...