This guide describes how to make best use of Heron UI for monitoring and debugging topologies.
The UI provides a lot of information about a topology or a part of it quickly, thus reducing debugging time considerably. Some of these features are listed below. A complete set of features can be found in following sections.
Heron UI is a user interface that uses the Heron Tracker to display detailed, colorful visual representations of topologies, including the logical and physical plan for each topology.
Start the Heron tracker using heron-tracker &
which uses default heron_tracker.yaml configuration file. It's a centralized gateway for cluster-wide information about topologies, including which topologies are running, being launched, being killed, etc. It exposes Json Restful endpoint and relies on Zookeeper nodes.
Launc the Heron UI by the command:
heron-ui &
By default Heron UI will be started at http://localhost:8889
Below is the home page of Heron UI.
The following information or actions can be found on this page.
cluster
Below is the main page to monitor a topology.
Each node in logical plan can be clicked for more specific info about that component.
Clicking on an instance will highlight that instance in the list.
Selecting a metric will highlight the components and instances based on their health with respect to the metric, green being healthy, red indicating a problem. This is a quick way to find out which instances are having issues.
These are the topology configurations that your topology is configured with. Note that spout and bolt level configurations are not part of topology config.
These actions are available for all the instances. They are described in the next sections.
These are the logs generated by the selected instance. The whole logs file can also be downloaded.
Below is the directory view of the container. All instances from a container will point to the same job page. Following information is available on this page, amongst other things.
log-files
folder which has instance logs, as well as stream manager
or tmaster
logs.This page lists all exceptions logged by this instance. The exceptions are deduplicated, and for each exception, the page shows the number of times this exception occurred, the latest and the oldest occurance times.
This link can be used to find the process ID for an instance. Since each instance runs in its own JVM process, this will be unique for a host. The PID is also used for other tasks, such as getting jstack or heap dump for an instance.
Click on this link to run the jstack
command on the host against the PID for the instance. The output of the command is printed on the page in the browser itself.
Click on this link to run the jmap -histo
command on the host against the PID for the instance. The output of the command is printed on the page in the browser itself.
Click on this link to run the jmap -dump:format=b,file=/tmp/heap.bin
command agaist the PID for the instance. Follow the instructions on the page to download the heap dump file. This link does not download the file.
To kill Heron UI server run the following command:
kill $(pgrep -f heron-ui)
To stop all the Heron tools, kill the Heron Tracker as well using kill $(pgrep -f heron-tracker)
.