IBM WebSphere MQ on Microsoft Azure

Microsoft Azure Installation and Support guide

1. Overview

This guide will provide step by step instructions how to start using the installed products on your Microsoft Azure instance.

This Virtual Machine image contains a ready-to-run IBM WebSphere MQ base image at the selected version. In order to use this image, you need to launch it with your selected type, and log in via SSH to create and configure required Queue Managers, Queues and Listeners etc. 

Visit the IBM MQ Standard pages on the Microsoft Azure Marketplace

2. Launching an instance

In order to launch IBM Websphere MQ (referred as WMQ), a few settings need to be configured on the Azure console as follows:

  1. Open new Azure Virtual Machine wizard;
  2. Select the IBM WMQ Azure image based on your requirements from gallery;
  3. Choose VM name, size, Authentication user and credentials. The Standard DS2V2/General Purpose type or larger is recommended when running IBM WebSphere MQ.  Basic DS1V2 is the minimal requirement, which will be sufficient to run Queue Managers, Queues and Listenes;
  4. Define cloud service DNS name, Regions and open endpoint ports.
Port 22 to connect via SSH (enabled by default), 
Ports 1414/1415 to reach the Queue Manager service (enabled by default),
Port 9090 to reach RapidDeploy web console (enabled by default), 
Port 20000 and 20100 to open for RapidDeploy Remote Agent (optional).

 3. Initial login and setup

The IBM WebSphere MQ products are shipped with a base binary installation but without the necessary Queue Managers created. On the first login to the instance, you will be placed into a console wizard, which will guide you through the process of creating and starting IBM WebSphere MQ Queue Managers and other configuration steps. The following is an overview of the steps you will be guided through to get started with the installed products on the instance.

Once the VM instance has started up:

  1. Log onto the instance via SSH with your Azure user and credentials. Once the instance has started up (you can see it by having “Running” status in Azure console), you can connect to the instance via any SSH client. You can log in to your instance with provisioned Azure username  and the credentials which can be based on password or certificate file.
  2. You should see the MidVision banner and then you are placed in a setup wizard.
    Welcome to                                                                                                                                             
    
     __  __ _     ___     ___     _                    ____ _                 _
    |  \/  (_) __| \ \   / (_)___(_) ___  _ __        / ___| | ___  _   _  __| |
    | |\/| | |/ _` |\ \ / /| / __| |/ _ \| '_ \ _____| |   | |/ _ \| | | |/ _` |
    | |  | | | (_| | \ V / | \__ \ | (_) | | | |_____| |___| | (_) | |_| | (_| |
    |_|  |_|_|\__,_|  \_/  |_|___/_|\___/|_| |_|      \____|_|\___/ \__,_|\__,_|
    
                                                           A MidVision Service
    
            * WebSite: https://www.midvisioncloud.com/product-category/microsoft-azure-marketplace
            * Support: http://support.midvision.com/redmine/projects/devtestcloud
            * Forum:   https://www.midvisioncloud.com/community      
    
    Please run 'sudo su - mqm' to start using provided services.
    
    Welcome, this is MidVisionCloud Websphere MQ image first run configuration
    
    Note that you can rerun this configuration wizard again by executing /home/mqm/firstrunsetup.sh script
    
    Configuration steps
    1. Set RapidDeploy framework initial password
    2. Open ports on RHEL firewall
  3. On the first login to the instance, you will be placed into a console wizard, which will guide you through the process of creating and configuring IBM WebSphere MQ. The following is an overview of the steps you will be guided through to create the required profiles on the instance:
    1. Set initial password for RapidDeploy user “mvadmin”.
    2. Choose which ports to open on Red Hat Linux firewall. You should open port 9090 for the RapidDeploy web console if required. You should open the required ports for MQ, typically 1414 and 1415.

    All inputs asking for specific data can be left as blank just by hitting  [return] , which will pick the default value displayed at the end of the question. Please refer to IBM documentation for WebSphere MQ configuration.

4. Accessing the web and command line consoles

4.1 Access the RapidDeploy Web Console

RapidDeploy server and agent will start up automatically when you start your instance. You can access the web console on:

http://[publicip]:9090/MidVision

Note: make sure you have port 9090 open in your Security group when trying to access RapidDeploy web console. For the first time, you can set the password for the default username ” mvadmin “. 

You can prevent auto starting RapidDeploy on instance startup by removing it from the system chkconfig list.

systemctl disable rapiddeploystart.service 

4.2 Subsequent logins via SSH to the instance

When logging into the instance after the first time, you will be asked if you wish to enter the console menu. Selecting ‘Y’ places you in a management console. Selecting ’N’ will take you to a command prompt. You can access the menu at any time by typing ‘menu’ at the command prompt. In the menu context, after first login you can perform the following actions:

  • Display WMQ installation details
  • Manage IBM MQ – this option is very helpful and lets you create/manage/delete queue managers, listeners, channels and queues
  • Open Firewall Port if you wish. Usually you will need to open ports 1414 and 1415
Main Application Administration Menu on ip-172-31-44-143
========================================================
Please select from list
 1. Display Status for [hostname]
 2. Manage IBM MQ
 3. Open Firewall Port on [hostname]
 4. Help for the Management menu
 x. Quit
>3

We prepared sample configuration of WMQ for you. Following the steps below you will create two queue managers with local and remote queues, then you will define listeners and channels that will allow communication between these queue managers. 

 1. Select Manage IBM MQ from main menu and Create new Queue Managers with names QMGRA and QMGRB
 2. Select QMGRA and then select option 5 to start it. 
 3. You can check if QMGRA is running using option 6
 4. Select Manage Queues option for QMGRA and select option 2 to define new transmission queue (name: QMGRB.XMIT.DF,    init queue name: SYSTEM.CHANNEL.INITQ)
 5. Now select option 1 to define new local queue (name:QMGRB.QMGRA.RQSTIN)
 6. Using option 5 to define new remote queue (name: QMGRA.QMGRB.RQST, transmission queue: QMGRB.XMIT.DF, remote        queue: QMGRA.QMGRB.RQSTIN, queue manager: QMGRB)
 7. Leave current menu using x. Quit option and select Manage Channels for QMGRA
 8. Define Sender Channel (name: QMGRA.QMGRB.DF, transmission queue name: QMGRB.XMIT.DF, ip address: localhost,         port: 1414)
 9. Define Receiver Channel (name: QMGRB.QMGRA.DF)
 10. Leave current menu and select Manage Listener
 11. Define new Listener (name: LISTENER.TCP.QMGRB, port: 1415)
 12. Go to main menu and Create new Queue Manager QMRB
 13. Start QMRB and then go to Manage Queues for this queue manager
 14. Define Transmission queue (name: QMGRA.XMIT.DF, init queue name: SYSTEM.CHANNEL.INITQ)
 15. Define Local queue (name: QMGRA.QMGRB.RQSTIN)
 16. Define Remote queue (name: QMGRB.QMGRA.RQST, transmission queue name: QMGRA.XMIT.DF,                                remote queue: QMGRB.QMGRA.RQSTIN, queue manager: QMGRA)
 17. Go to Manage Channels option for QMGRB and define new Sender Channel (name: QMGRB.QMGRA.DF, transmission queue name: QMGRA.XMIT.DF, ip address: localhost, port 1415) 
 18. Define Receiver Channel for QMGRB: (name: QMGRA.QMGRB.DF) 
 19. Go to Manage Listeners for QMGRB and define new Listener (name: LISTENER.TCP.QMGRA, port: 1414)
 20. Use option 3 to Start Listener (select LISTENER.TCP.QMGRA) and then use option 5 to Display status of Listeners for QMGRB
 21. Go to main menu and now select QMGRA
 22. Go to Manage Listeners and start Listener LISTENER.TCP.QMGRB
 23. Go to Manage Channels for QMGRA and Start Channel: QMGRA.QMGRB.DF
 24. Select Queue Manager QMGRB, go to Manage Channels and Start Channel: QMGRB.QMGRA.DF)

Of course you can still use all the commands directly from WMQ without using our prepared menu.

5. Maintaining the installation

The following sections cover some of the activities you might want to perform after the instance has been started.
  • mqm: This is the default user, which you can log in as. It is permitted to use all SUDO rights. To switch to the root user, type “sudo su“.
  • root:      This is the superuser in linux systems. You can log in as any other user without using passwords. E.g:  “su mqm

CentOS instances are shipped with a firewall by default to protect your machine. For security reasons, the instance is only accessible via SSH (port 22) at first, so further ports can be opened on the firewall as needed. You will need to open all the ports in this internal firewall, which you have open in your Security group. There is a script placed in the user home of the mqm user (/home/mqm), which is also the starting location when logged in. You will need to be the root user to run this script. Example usage:

[mqm@ ] sudo ./open-firewall.sh 9090
Open firewall port 9090 iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
 

There are a few scripts and other files in mqm and root users home directory, which will need to remain unchanged in order to keep the provided scripts working. There are a set of scripts in mqm home directory. Those scripts are executed when logging into the instance controlled by  .bash_profile , but you can also execute them manually whenever they are needed. There are some hidden files used as well,  .firstrun  indicates that the setup wizard has already ran once.

To restart RapidDeploy manually from the filesystem, use the rapiddeploy linux service. The RapidDeploy version is 5.0.3. RapidDeploy home is located at /var/rd/midvision Example usage:

[mqm@ ] sudo service rapiddeploystart start 
[mqm@ ] sudo service rapiddeploystart stop

The RapidDeploy server uses an in-memory database, so your RapidDeploy framework needs to be shut down properly to save your work. This happens when the instance is stopping or when calling the stop service manually from the command line. Note that on instance restart, unsaved data will be lost.

If you don’t want to use RapidDeploy and free memory on your instance you can stop rapiddeploy service using command:

[mqm@ ] sudo service rapiddeploystart stop

Then in order to make sure it will not start when an instance starts again run this command:

[mqm@ ] sudo systemctl disable rapiddeploystart.service

For security reasons, you will need to change the default password (default value is ‘mvadmin‘) for user mvadmin. This will be requested the first time only when you log in to the RapidDeploy server.

6. Troubleshooting

6.1 Session loss during setup

If you lose your SSH connection to the target instance during the first run setup script execution (e.g. as a result of a network problem), we advise you to delete and recreate the Microsoft Azure instance and run the script again.

6.2 Contacting MidVision support

Please visit our support website.