RabbitMQ: How to get json data in message rates chart of queue - rabbitmq

In RabbitMQ Management Web Interface, looking at Queues tab, I can see message rate chart, and If I want to get json data that was stored for plotting in chart, please give me some suggestions

You can get the current number of messages in the queue via the following URL:
http://<host>:<port>/api/queues/<vhost>/<queue>
That will return JSON, and you would want to look at the messages attribute.

Related

ActiveMQ(NMS) : Is there a way to run a query on the queue to find out all messages with certain header values?

I am using ActiveMQ to store messages to be used later. It is working as expected, but there is a specific scenario I need to fit which I cannot figure out.
The short question is this.
Is there a way to run a query on the queue to find out all messages with certain header values?
The problem in detail is this :
So there is a set of data that is coming in multiple messages and the requirement is to use that data only after all messages for that has come in.
So if the dataset has lets say 50 messages i need to wait for those 50 messages and then read them in.
I am adding headers to each message to denote they belong to a certain set.
Like "TotalSets"=50 , "SetId"=39 .
I would like to write a thread that keeps tracing if all sets for a particular batch has arrived.
NMS is a .NET equivalent to the JMS messaging API so the means of filtering messages is the same as in JMS, your subscription applies a JMS Message Selector when created to tell the broker what messages it is interested in. The session methods to create MessageConsumer instances have variants that accept the selector using the JMS defined syntax which is your means of filtering messages.

Things to consider before using message broker

I am newbee in message broker area . Currently there are quiet a good no. of message broker are there(Rabbit-mq ,zeromq ,kafka and many more).
Want to know which thing to consider while opting for any message broker for backend architecture .
Route messages to one or more of many destinations
Transform messages to an alternative representation
Perform message aggregation, decomposing messages into multiple messages and sending them to their destination, then recomposing the responses into one message to return to the user
Interact with an external repository to augment a message or store it
Invoke Web services to retrieve data
Respond to events or errors
Provide content and topic-based message routing using the publish–subscribe pattern
https://en.wikipedia.org/wiki/Message_broker
Try to use RabbitMq, simple and fast.

mule process csv file with same set of data

In mule I have a CSV file containing 50 rows of records like product id, product name, quantity, price, offer, expire date. I want to convert the CSV format to a JSON format and I use an external API using the above data. While in mid calling, the API network goes down. How can I retry with same data.
Can anybody shed light on this
You would have to create an exception catcher that would log the failure requests, then run through those again.
Do not keep "looping" the same record until the API comes up. This will block all others from being processed and your queue will not decrease.
See this post which explains how to setup batch jobs and this post on how to create error handlers; both from the mulesoft blog.
Take a look at the until-successful router: https://developer.mulesoft.com/docs/display/current/Until+Successful+Scope
NOTE: This is by default asynchronous, but can be configured to be synchronous.

windows service bus confidential data

Is it possible to limit which subscriptions to the On Premises Windows Service Bus can view which messages. For instance, if I have data in a message that I only want certain parties to be able to see (Sensitive data).
Check out the following link from Microsoft: http://azure.microsoft.com/en-us/documentation/articles/service-bus-dotnet-how-to-use-topics-subscriptions/?rnd=1
Ctrl+f "Create Subscriptions with Filters" and read that section.
In short:
Subscriptions can be created with SQL-like filters that run on message properties (standard or user-specified). The subscription will only pull messages that pass its filter. However, if a subscription doesn't have a filter, it will receive all messages. If you control the management of the messaging entities, then you can put a filter on every subscription so they only receive the messages meant for them, otherwise the data might be received by someone it wasn't meant to be sent to.
Depending on the data sensitivity, you may also want to encrypt it before publishing it to the topic.

View messages in celery/rabbitmq

Hy,
Is there a way to see the messages that arr waiting in the Celery/RabbitMQ queues?
I would like to see what parameters has each waiting task.
Tx!
You can do it with Management Plugin
UPD:
Message props and headers are plain strings or numbers so you can view them without any extra job.
If you need to see message body and Management Plugin doesn't fits you, another approach is to consume messages from queue, output their content and push them back in queue. There is some chance to loose message during such action if your script fail before message will be requeued back.
Again, if you need to see only parameters or headers then Management Plugin is your best friend.
If you send JSON or XML encoded message body i think it is trivial to write js script and use it with Userscripts to show you message original content.