使用 Spring 从 Splunk 读取数据
Read Data from Splunk using Spring
我需要读取记录到 splunk 的 json,解析它并存储在关系数据库中。
我知道如何解析 json,并进行 post 处理。但是,我不太确定如何从 splunk 中提取数据。这个用例的最佳策略和 java 技术堆栈是什么? (splunk sdk 和 rest api 谈论 运行 搜索等,但不是数据提取本身。我看到 spring-integration 对 Splunk 有一些扩展,所以我也许能够使用 spring,但没有找到相同的具体示例)。
确实,很抱歉耽搁了。
是的,您绝对应该使用 Spring Integration Splunk。根据最后一个从那里获取数据的文档,您应该使用 search
功能。
Spring 集成 Splunk 提供 <int-splunk:inbound-channel-adapter>
从 Splunk 检索 event
s 并将它们发送到下游集成流程。
你可以在项目的测试用例中找到示例,但最简单的可能是这样的:
<int-splunk:inbound-channel-adapter id="inboundChannelAdapter"
splunk-server-ref="splunkServer"
search="search host=SpringIO"
channel="searchResults"
mode="REALTIME"
count="10"
init-earliest-time="">
<int:poller fixed-delay="100" max-messages-per-poll="1"/>
</int-splunk:inbound-channel-adapter>
这种操作的结果是 List<SplunkEvent>
作为 Message<?>
的 payload
发送到 searchResults
channel
.
我需要读取记录到 splunk 的 json,解析它并存储在关系数据库中。
我知道如何解析 json,并进行 post 处理。但是,我不太确定如何从 splunk 中提取数据。这个用例的最佳策略和 java 技术堆栈是什么? (splunk sdk 和 rest api 谈论 运行 搜索等,但不是数据提取本身。我看到 spring-integration 对 Splunk 有一些扩展,所以我也许能够使用 spring,但没有找到相同的具体示例)。
确实,很抱歉耽搁了。
是的,您绝对应该使用 Spring Integration Splunk。根据最后一个从那里获取数据的文档,您应该使用 search
功能。
Spring 集成 Splunk 提供 <int-splunk:inbound-channel-adapter>
从 Splunk 检索 event
s 并将它们发送到下游集成流程。
你可以在项目的测试用例中找到示例,但最简单的可能是这样的:
<int-splunk:inbound-channel-adapter id="inboundChannelAdapter"
splunk-server-ref="splunkServer"
search="search host=SpringIO"
channel="searchResults"
mode="REALTIME"
count="10"
init-earliest-time="">
<int:poller fixed-delay="100" max-messages-per-poll="1"/>
</int-splunk:inbound-channel-adapter>
这种操作的结果是 List<SplunkEvent>
作为 Message<?>
的 payload
发送到 searchResults
channel
.