读取与从 JMS 队列复制消息..使用 logstash 到 ES
Posted
技术标签:
【中文标题】读取与从 JMS 队列复制消息..使用 logstash 到 ES【英文标题】:Read vs Copy a message from JMS queue..using logstash into ES 【发布时间】:2014-01-09 02:13:53 【问题描述】:有时,我们发现需要从 JMS 队列中读取 msg 的“副本”并将其存储在数据存储中(例如 ElasticSearch)。 在企业环境中,当 System-A 通过 JMS 队列向 System-B 发送 XML msg 时,如果另一个 System-C 可以探测并读取 msg 的副本(在读取后不将其从 JMS 队列中删除,而只是读取副本的味精) 并将其存储以供审核/搜索/分析,例如。在 ElasticSearch 数据存储中。然后我们可以在 Elasticsearch 之上使用 Kibana 对数据进行审计/搜索分析。
所以问题是——我们可以使用 Logstash 或 logstash 插件来读取 JMS 消息,但不能只读取消息的副本。有没有办法做到这一点?
logstash-plugin --> 读取frm JMS队列 --> 发送到ES --> 使用Kibana分析来自ES的数据。
【问题讨论】:
【参考方案1】:如果您使用 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
【讨论】:
以上是关于读取与从 JMS 队列复制消息..使用 logstash 到 ES的主要内容,如果未能解决你的问题,请参考以下文章