读取vs从JMS队列复制消息。使用logstash到ES

时间:2013-12-20 09:04:42

标签: jms elasticsearch logstash kibana

有时,我们发现需要从JMS队列中读取msg的“副本”并将其存储在数据存储(例如ElasticSearch)中。
在企业版本中,当System-A通过JMS队列向系统-B发送XML消息时,如果另一个System-C可以探测并读取消息的复制(在读取后不将其从JMS队列中删除,而只是读取副本) of msg)
并将其存储用于审计/搜索/分析,例如。在ElasticSearch数据存储区中。然后我们可以在Elasticsearch上使用Kibana对数据进行审计/搜索分析。

所以问题是 - 我们可以使用Logstash或logstash插件来读取JMS消息,但不能只读取消息的副本。有没有办法做到这一点?

logstash-plugin - >读取frm JMS队列 - >发送给ES - >使用Kibana分析来自ES的数据。

1 个答案:

答案 0 :(得分:0)

如果您使用JMS主题而不是队列,则可以将消息写入主题,并让系统B和系统C都订阅并使用消息。

请参阅:

JMS Topic vs Queues

How to "copy" a JMS message to 2 destinations?

更新:通过与原始海报交谈,他们无法将架构移至主题,因此我建议使用复合/虚拟目的地。

http://activemq.apache.org/composite-destinations.html

http://activemq.apache.org/virtual-destinations.html