A JBoss Project
Red Hat

Get Started

You can use hawtio from a Chrome Extension or in many different containers - or outside a container in a stand alone executable jar. Below are all the various options for running hawtio. To see whats changed lately check out the change log

The Hawtio platform consists of 2 parts, the backend which is running in a Java Web Container the Jolokia gateway (JMX to JSON) and the front end containing the Angular, D3, … Javascript to do the rendering of the JSON responses in a very nice way. Depending how you plan to use Hawtio for your project in your environment, you can run the backend using a java standalone jar, a servlet engine, application server or an OSGI container. If you do not use a servlet container or application server, you can also embed the hawtio backend inside your process.

The front end could be accessed using the HTML5 web console or from Google Browser

The out of the box defaults try to do the right thing for most folks but if you want to configure things then please check out the configuration guide

Using the executable jar

You can startup hawtio on your machine using the hawtio-app executable jar.

Download the executable hawtio-app-1.5.11.jar

Once you have downloaded it, just run this from the command line:

java -jar hawtio-app-1.5.11.jar

Note: If you launch hawt.io with Java 9, add the specified modules to avoid errors on startup and allow attaching to other Java processes:

java --add-modules jdk.attach,java.xml.bind -jar hawtio-app-1.5.11.jar

And the console should show you which URL to open to view hawtio; which by default is http://localhost:8080/hawtio/

You can specify the port number to use, for example to use port 8090 run from the command line:

java -jar hawtio-app-1.5.11.jar --port 8090

hawtio supports other options which you can get listed by running from command line:

java -jar hawtio-app-1.5.11.jar --help

Using a Servlet Engine or Application Server

If you are running Tomcat, Jetty you could just deploy a WAR: (JBoss AS or Wildfly users see other containers section further below)

TIP: You may want to use the offline deployment which do not connects to the internet for plugins such as Maven and Git.

Download hawtio-default.war

a bare hawtio web application with minimal dependencies (online mode connecting to the internet for the Maven and Git plugin)

Download hawtio-default-offline.war

a bare offline hawtio web application with minimal dependencies in offline mode, where Maven and Git plugins are not enabled.

Download sample.war

a hawtio web application which comes with some Apache ActiveMQ and Apache Camel to play with which is even hawter

Copy the WAR file to your deploy directory in your container.

If you rename the downloaded file to hawtio.war then drop it into your deploy directory then open http://localhost:8080/hawtio/ and you should have your hawtio console to play with.

Otherwise you will need to use either http://localhost:8080/hawtio-default-1.5.11/ or http://localhost:8080/sample-1.5.11/ depending on the file name you downloaded.

Please check the configuration guide to see how to configure things; in particular security.

If you don't see a Tomcat / Jetty tab for your container you may need to enable JMX.

Using JBoss Fuse

If you are using 6.1 or later of JBoss Fuse, then hawtio is installed out of the box

Using Apache Karaf or Apache ServiceMix

By default installing hawtio installs the Maven and Git plugin which uses online connection over the internet to work. You may want to install hawtio-offline instead which disables those plugins, and runs hawtio without any internet connectivity. When installing hawtio-core then those plugins are not installed and its also in offline mode.

If you are using Apache Karaf 2.x:

features:chooseurl hawtio 1.5.11
features:install hawtio

If you are using Apache Karaf 3.x:

feature:repo-add hawtio 1.5.11
feature:install hawtio-core

If you are using Apache Karaf 4.x:

feature:repo-add hawtio 1.5.11
feature:install hawtio

If you are using Apache ServiceMix 5.x/6.x:

feature:repo-add hawtio 1.5.11
feature:install hawtio-core

If you are using Apache ServiceMix 7.x:

feature:repo-add hawtio 1.5.11
feature:install hawtio

NOTE Karaf 2.x/3.x has an issue with the hawtio-log and hawtio-terminal which does not work. And therefore you need to install hawtio-core instead of hawtio.

The hawtio console can then be viewed at http://localhost:8181/hawtio/. The default login for Karaf is karaf/karaf, and for ServiceMix its smx/smx.

If you use a HTTP proxy

If you are behind a http proxy; you will need to enable HTTP Proxy support in Fuse / Karaf / ServiceMix to be able to download hawtio from the central maven repository.

There are a few articles about this which may help. Here are the steps:

Edit the etc/org.ops4j.pax.url.mvn.cfg file and make sure the following line is uncommented:

org.ops4j.pax.url.mvn.proxySupport=true

You may also want org.ops4j.pax.url.mvn.settings to point to your Maven settings.xml file. NOTE use / in the path, not .

org.ops4j.pax.url.mvn.settings=C:/Program Files/MyStuff/apache-maven-3.0.5/conf/settings.xml

Fuse / Karaf / ServiceMix will then use your maven HTTP proxy settings from your ~/.m2/settings.xml to connect to the maven repositories listed in etc/org.ops4j.pax.url.mvn.cfg to download artifacts.

If you're still struggling getting your HTTP proxy to work with Fuse, try jump on the Fuse Form and ask for more help.

Other containers

The following section gives details of other containers

If you use JBoss AS or Wildfly

You may have issues with slf4j JARs in WAR deployments on JBoss AS or Wildfly. To resolve this you must use Download hawtio-no-slf4j.war.

See more details here.

Additionally related to logging, you can remove the log4j.properties from the root of the classpath so that Wildlfy uses its logging mechanisms instead of trying to use the embedded log4j. From the command line, you can try:

zip -d hawtio.war WEB-INF/classes/log4j.properties

Since hawtio does use some CDI beans, but does not deploy a beans.xml CDI descriptor, you can also relax Wildfly's implicit CDI detection by changing the Weld config to look like this:

    <system-properties>
        <property name="hawtio.authenticationEnabled" value="false" />
    </system-properties>

To enable security, you'll need to set you configuration up like this:

<extensions>
    ...
</extensions>

<system-properties>
    <property name="hawtio.authenticationEnabled" value="true" />
    <property name="hawtio.realm" value="jboss-web-policy" />
    <property name="hawtio.role" value="admin" />
</system-properties>

You can follow the steps outlined in this blog for a more comprehensive look at enabling security in Wildfly with hawtio.

If you experience problems with security, you would need to disable security in hawtio by configure the system properties by adding the following to your jboss-as/server/default/deploy/properties-service.xml file (which probably has the mbean definition already but commented out):

<mbean code="org.jboss.varia.property.SystemPropertiesService"
 name="jboss:type=Service,name=SystemProperties">

  <attribute name="Properties">
        hawtio.authenticationEnabled=false
  </attribute>
</mbean>

Or in newer versions (Wildfly 8.1) you'll want to add this to standalone/configuration/standalone.xml:

<extensions>
    ...
</extensions>

<system-properties>
    <property name="hawtio.authenticationEnabled" value="false" />
</system-properties>

Enable JMX on Jetty 8.x

If you are using Jetty 8.x then JMX may not enabled by default, so make sure the following line is not commented out in jetty-distribution/start.ini (you may have to uncomment it to enable JMX).

etc/jetty-jmx.xml

Using hawtio inside a stand alone Java application

If you do not use a servlet container or application server and wish to embed hawtio inside your process try the following:

Add the following to your pom.xml

<dependency>
  <groupId>io.hawt</groupId>
  <artifactId>hawtio-embedded</artifactId>
  <version>${hawtio-version}</version>
 </dependency>

Then in your application run the following code:

import io.hawt.embedded.Main;

...
Main main = new Main();
main.setWar("somePathOrDirectoryContainingHawtioWar");
main.run();

If you wish to do anything fancy it should be easy to override the Main class to find the hawtio-web.war in whatever place you wish to locate it (such as your local maven repo or download it from some server etc).

Depending on the war you are loading, you may also need to turn off authentication before running the embedded hawtio so that it can be accessible in an unauthenticated environment:

System.setProperty("hawtio.authenticationEnabled", "false");

Using the Chrome Extension (currently not working)

Chrome Extension currently does not work, as Google requires extensions to be installed using their app store, and hawtio are not yet published to the app store. This may change in the future.

Download the hawtio Chrome Extension version 1.4.47

  • Then you'll need to open the folder that the CRX file got downloaded to. On a Mac in Chrome you right click the downloaded file and click Show in Finder

  • now in Google Chrome open the Extensions Page at chrome://extensions/ or Window pull down menu → Extensions

  • now drop the downloaded CRX file (from Finder or Windows Explorer) onto Chrome's Extensions Page at chrome://extensions/ or Window pull down menu → Extensions and it should install the hawtio extension for Chrome.

  • now to open a hawtio tab or window at any point, just open a new tab / window in Chrome, click the Apps button on the left hand of the bookmark bar which should open a window with all your extensions in there….

  • you should see a hawtio icon in the apps page. If not let us know!.

  • Click the hawtio icon

  • the Connect page should appear where you can then connect to any processes which are running a jolokia agent.

  • have fun and profit! Please share with us your feedback! or tweet us!

Using a git Clone

From a git clone you should be able to run the a sample hawtio console as follows:

git clone git@github.com:hawtio/hawtio.git
cd hawtio/sample
mvn jetty:run

Then opening http://localhost:8282/hawtio/ should show hawtio with a sample web application with some ActiveMQ and Camel inside to interact with.

A good MBean for real time values and charts is java.lang/OperatingSystem. Try looking at queues or Camel routes. Notice that as you change selections in the tree the list of tabs available changes dynamically based on the content.

Using Third Party Plugins

hawtio is fully pluggable, and allows to integrate with custom plugins, as if they are out of the box. There is different approaches how you can install and use custom plugins with hawtio, which you can read more about at How Plugin Works.

Using hawtio Maven Plugins

hawtio offers a number of Maven Plugins, so that users can bootup Maven projects and have hawtio embedded in the running JVM.

Trying SNAPSHOT builds

The hawtio project has a CI server which builds and deploys daily builds to a Maven repository. For example to try the latest build of the 'hawtio-default' WAR you can download it from the Maven repository.

Further Reading