The ActiveMQ Web Console is a web based administration tool for working with ActiveMQ. When used with the JMX support it can be an invaluable tool for working with ActiveMQ

Web console 5.3.1 problem workaround

Icon

If your web console doesn't start correctly in 5.3.1 release, you're probably ran into a problem with a workaround for Camel web application. To fix it, just change ActiveMQCompnent setup in webapps/camel/WEB-INF/applicationContext.xml (and conf/camel.xml if you use it), to something like this:

This will be fixed in 5.4.0 release

Running the Web Console on ActiveMQ 5.0 or later

We have integrated the Web Console into the binary distribution. So Download a binary distribution then follow the instructions for Version 5 Run Broker. Then you can point your web browser at the URL

And hey presto, you should now have the Web Console running.

In the event that you are running a standalone broker and the Web Console is not reachable, check that the following lines are included in your ActiveMQ config xml:

The import will start up an embedded Jetty container. To verify that the config is working, the following should appear in your ActiveMQ console/logs on next startup:

As of 5.3 or later you should also have the Camel Web Console available for use to browse your endpoints and Enterprise Integration Patterns at the following URL

Changing the port

If you want to change the port number of the web application try the following

You can also set the port with the port attribute in the nioConnector tag in the activemq.xml configuration file:

Securing Web Console

Starting with ActiveMQ 5.4.0, Web Console comes pre-configured with basic access authentication setup. It's turned off by default, so you need to turn it on explicitly, but it's really simple. Go to the ${ACTIVEMQ_HOME}/conf/jetty.xml and find the following line

and change it to

That's it. From that point on, web server will look at ${ACTIVEMQ_HOME}/conf/jetty-realm.properties file trying to match provided credentials with those listed in the file. By default, you can access the web console with admin/admin credentials. That can be changed (and more users can be added) in the jetty-realm.properties file.

You may also wish to enable ssl connector to further secure access to the web console and other web resources of the broker. To do that, go to the ${ACTIVEMQ_HOME}/conf/jetty.xml and make sure you have the secure connector enabled. In versions 5.7 and newer just uncomment a predefined config. In any case make sure your connectors settings looks similar to this.

Standard connector is left enabled in this example, but you can remove it in your configuration if you wish.

Note that these changes will affect the whole web server, so if you're using REST API or blob fileserver be sure to provide appropriate credentials.

If you're interested in securing 5.3.1 (and 5.3.2) Web consoles, take a look at this article. For older versions, please refer to this article

Starting the Web Console in a seperate VM/in a Web-Container

If you want to start the web-console in a different process than ActiveMQ (f.e. for security or reliability reasons) then you've two options:

Configure using System-Properties

You need to configure the following system properties:

  • -Dwebconsole.type=properties
  • -Dwebconsole.jms.url=<url of the broker> (f.e. tcp://localhost:61616)
  • -Dwebconsole.jmx.url=<jmx url to the broker> (f.e. service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi)
  • -Dwebconsole.jmx.user=<remote jmx user name>
  • -Dwebconsole.jmx.password=<remote jmx password>

These may be specified on the maven command line with mvn jetty:run -Dwebconsole.type=properties..... or deploy the activemq-web-console.war into a Web-Container (f.e. Jetty, Tomcat) and follow the example below.

Configure using JNDI

Deploy the activemq-web-console.war into a Web-Container (f.e. Jetty, Tomcat) and specify the following System property

  • -Dwebconsole.type=jndi
    The jndi-resources are named
  • java:comp/env/jms/connectionFactory: JMS-ConnectionFactory (Type javax.jms.ConnectionFactory)
  • java:comp/env/jmx/url: URL of the brokers JMX (Type java.lang.String)

Don't forget to add the activemq-all jar to your webcontainer's shared lib directory (common/lib for tomcat, lib for jetty).

Failover configurations

It's possible to configure the web-console to monitor master/slave-broker setup. To do so use the normal failover: Syntax for the JMS-URL and a comma separated list of JMX-URLs. This works with the System-property- and with the JNDI-configuration.
Example:
-Dwebconsole.jms.url=failover:(tcp://serverA:61616,tcp://serverB:61616)
-Dwebconsole.jmx.url=service:jmx:rmi:///jndi/rmi://serverA:1099/jmxrmi,service:jmx:rmi:///jndi/rmi://serverB:1099/jmxrmi

Example configuration using Jetty 6

To start the web-console in a dedicated jetty use the following startup-script (execute from the jetty-root-dir):

If the web-console should be password protected (BASIC Authentication) use the standard jetty mechanisms:
1. Define a UserRealm in jetty.xml:

2. Configure the users/passwords in the amqrealm.properties in jetty/etc

3. Configure the security constraint either in the webconsoles web.xml or in jetty's webdefault.xml

This is just a sample configuration of a password protected webconsole. Instead of the HashUserRealm one could also use a KerberosRealm or a JDBCRealm.

Example configuration using Tomcat

To start web console in Tomcat 5.x use the following steps:

Using the Web Console

The web console is depicted in the following image:

To get started, go to the Send page and send a message to a queue (you can send multiple if you like, see the message count field).

Now that you have sent messages to a queue you should be able to Browse then and view the queue as an RSS or Atom feed.

The Web Console has many features relative to it's tabs as shown in the following table.

Tab

Features

Home

System Usage

Queues

 

Topics

Viewing Advisory Messages

Subscribers

 

Connections

Protocols

Scheduled

 

Send

Delay and Schedule Message Delivery

Running the Web Console on earlier versions

The 5.3 webconsole does not run unmodified against a remote activemq 4.*. However, it's easy to patch to avoid the new properties. See https://issues.apache.org/activemq/browse/AMQ-2145

To run the ActiveMQ Web Console on earlier versions of ActiveMQ follow these instructions

  • Install Maven 2.0.4 or later
  • Grab the latest Source of ActiveMQ
  • Type the following commands into a command shell

Most likely everyone except geronimo 2.1.x users will have upgraded to activemq 5.x. Note that the jms connector url for geronimo is

Now point your browser at http://localhost:8080/ (or the appropriate port)

And you should be in business!

© 2004-2011 The Apache Software Foundation.
Apache ActiveMQ, ActiveMQ, Apache, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram