为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 JAVA 将 JSON 文件发送到 Splunk Enterprise?

如何从 JAVA 将 JSON 文件发送到 Splunk Enterprise?

长风秋雁 2023-12-30 16:14:42
我首先说我是初学者。我正在设置一个收集一些 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);


查看完整回答
反对 回复 2023-12-30
  • 1 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信