Skip to main content
Matrix42 Self-Service Help Center

Service Bus V: Message Validation

General

When your Service Bus is setup and connected to your Unified User Experience, every new enrolled and already existing device will update the corresponding device information in the Unified User Experience when the Command DeviceInformation is being Acknowledged. Depending if you have for the current implementation multiple Subscriptions or Queues, where only one is connected to the Unified User Experience (e.g. Silverback), the Subscription/Queue matrix42.uux.subscription should be always empty or the amount of messages should be reduced after every refresh. This is because the Unified User Experience receives and processes this messages and will clear the Subscription or Queue step by step. Depending if your other subscriptions or queues does not have any receiver, you can use these ones to check outgoing messages from Silverback to the Unified User Experience as explained in the following chapters within this article. If all Subscribers/Queues are already in place, you can add additional temporary Subscribers/Queues as explained in the Troubleshooting sections of this article.

20.0.1_rl_33.png

RabbitMQ

Configuration

  • Login to the administration interface of RabbitMQ (installed by default when using the Matrix42 installation package)

Read Messages

  • Select Queues
  • Select a queue which has more than 0 messages ready
  • Select Get messages
    • Enter the number of messages you want to receive
  • Review the messages
    • The message content can be copied to a json text formatter or a web service like https://jsonformatter.org for easier reading

Troubleshooting

In order to analyze messages it might be useful to temporarily store all incoming messages in a "Wire Tap". Usually all subscribers will remove all messages almost immediately and therefore the messages cannot be reviewed. To store messages temporary it is possible to create a temporary queue within the exchange which receives all messages. This queue has no subscriber and should be configured for automated message deletion.

  • Select Queues
  • Expand Add Queue below the list of queues
  • Select the Virtual host used during installation
  • Enter a name i.e. matrix42.troubleshooting.subscription
  • Click in "Message TTL" in the list of optional arguments to add "x-message-ttl"
  • Enter the time how long messages should be stored in milliseconds i.e. 86400000 for 1 day
  • Press Add Queue
  • Select the new queue in the table
  • Expand Bindings
  • Enter the exchange name i.e. matrix42.suem.topic in the From exchange field
  • Click Bind
  • New messages should now also received in the new queue and can be viewed as described above
  • When done with troubleshooting it is safe to delete the matrix42.troubleshooting.subscription

By starting the troubleshooting, it might make sense to purge the temporary queue before invoking the task in one of the systems you want to inspect.

Azure Service Bus

Service Bus Explorer

Download and Installation

Configuration

  • Open Service Bus Explorer
  • Click File
  • Select Connect 
  • Under Service Bus Namespaces select Enter a connection String 
  • In the connection string enter your namespace connection string 
    • In Azure, navigate to your Resource Group
    • Select your Service Bus Namespace
    • Navigate to Shared access policies
    • Press RootManageSharedAccessKey
    • Copy the Primary Connection String to your clipboard
  • Navigate back to Service Bus Explorer
    • Paste the Primary Connection String to the connection string section
    • Click OK

Read Messages

  • Expand Topics
  • Expand your synchronized Topic
  • Expand Subscriptions
  • You should see now 3 subscriptions
    • matrix42.empirum.subscription
    • matrix42.silverback.subscription
    • matrix42.uux.subscription
  • Verify if some subscriptions has a value greater then 0 in the brackets
  • Select the subscriptions with a greater value then 0 
  • Click Messages
  • Enter as Message Count e.g. 100
  • Click OK
  • Read any of the messages 

Troubleshooting

In order to analyze messages it might be useful to temporarily store all incoming messages in a "Wire Tap". Usually all subscribers will remove all messages almost immediately and therefore the messages cannot be reviewed. To store messages temporary it is possible to create a temporary subscription within the topic which receives all messages. This subscription has no subscriber and should be configured for automated message deletion.

In Service Bus Explorer (this is also possible in the Azure portal)

  • Expand Topics
  • Expand your synchronized Topic
  • Expand Subscriptions
  • Right click on Subscriptions
    • Select Create Subscription
    • Enter Name i.e. matrix42.troubleshooting.subscription
    • Select 1 Days in the "Default Message Time to Live" field (depends on the amount of messages - 10 minutes might also be sufficient for troubleshooting)
    • Select Create
  • New messages should now also received in the new subscription and can be viewed as described above
  • When done with troubleshooting it is safe to delete the temp.subscription

By starting the troubleshooting, it might make sense to purge the temporary subscription before invoking the task in one of the systems you want to inspect.

  • Was this article helpful?