Project: Apache Heron (App Definition and Development / Streaming & Messaging)
File: guides-ui-guide.md

id: version-0.20.0-incubating-guides-ui-guide title: Heron UI Guide sidebar_label: Heron UI Guide original_id: guides-ui-guide <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> 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. See logical plan of a topology See physical plan of a topology Configs of a topology See some basic metrics for each of the instances and components Links to get logs, memory histogram, jstack, heapdump and exceptions of a particular instance 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: ```bash 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. List of all topologies Number of topologies filtered after search (total by default) A topology's overview Filter the topologies using `cluster` Filter the topologies using string matching in names, clusters, environs, roles, versions, or submitters Sort the topologies based on a particular column Click on the topology name to find more info about the topology Below is the main page to monitor a topology. Name of the topology of the topology of the topology Health metrics for the topology General info about the topology General metrics for the topology Click components for more details Click instances for more details Click on aggregated metrics to color instances by metrics Link to topology level configs Link to job page only if the scheduler provides a link <!-- (TODO: Link to this guide) --> Link to viz dashboard for this topology only if Tracker is configured with

<!-- (TODO: Link to this configuration) --> Each node in logical plan can be clicked for more specific info about that component. Averaged or max metrics for all instances of this component Aggregated metrics for all instances of this component List of all instances and their aggregated metrics , which are described in more details below Clicking on an instance will highlight that instance in the list. Aggregated metrics are only for this instance Quick access to logs, exceptions and job pages for this instance Component counters are still aggregated for all instances The selected instance is highlighted 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 <!-- (TODO: Add link to 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. The jar or tar file associated with this topology Logs for heron-executor <!-- TODO: Link heron-executor --> `log-files` folder which has instance logs, as well as `stream manager` or `tmanager` 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: ```bash kill $(pgrep -f heron-ui) ``` To stop all the Heron tools, kill the Heron Tracker as well using `kill $(pgrep -f heron-tracker)`.