我首先说我是初学者。我正在设置一个收集一些 JSON 文件的系统,我在 JAVA (Spring 批处理)中解析它们,而我遇到的问题是将这些文件发送到Splunk enterprise 中的HTTP EVENT COLLECTOR (HEC)。我尝试在网络上爬行以获取一些适合初学者的指南,但我找不到任何内容。我想将带有上述文件的 POST 发送到 Splunk 企业,这样我就可以在发送它们后对它们进行索引。到目前为止,我只能像这样连接到 localhost:8089:HttpService.setSslSecurityProtocol(SSLSecurityProtocol.TLSv1_2); ServiceArgs connectionArgs = new ServiceArgs(); connectionArgs.setHost("localhost"); connectionArgs.setUsername("AdrianAlter"); connectionArgs.setPassword("mypassword"); connectionArgs.setPort(8089); connectionArgs.put("scheme","https"); // will login and save the session key which gets put in the HTTP Authorization header Service splunkService = Service.connect(connectionArgs); System.out.println("Auth Token : " + splunkService.getToken()); Job info = splunkService.getJobs().create("search index=main"); System.out.println("Info: ");
1 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
有点不清楚你想做什么。在文中,您说您正在尝试使用 HTTP 事件收集器 (HEC) 发送数据。但是,示例代码看起来正在尝试执行搜索。
要将数据发送到 Java 中的 HEC 端点,以下代码片段可能是合适的起点。
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("https://<SERVER>:8088/services/collector/event");
httppost.addHeader("Authorization", " Splunk <token id>");
String eventStr = "{sourcetype=_json, index=main, event={ <JSON> }}"
httppost.setEntity(new StringEntity(eventStr);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
System.out.println("response: " + entity);
添加回答
举报
0/150
提交
取消