Once you’ve deployed your application to the cloud, use the Explore feature of Weave Cloud to troubleshoot and ensure that your app is operating as expected. The Explore feature of Weave Cloud automatically detects and monitors hosts, Docker containers and processes that make up your app and its infrastructure. It then builds a graphical map showing their communication pathways. This graphical view allows you to visualize, monitor and interact with your distributed applications so that you can troubleshoot bottlenecks, memory leaks or navigate the container image in real-time.

There are several features that allow you to examine your app or your newly deployed microservice:

Topology Mapping

Weave Cloud builds logical topologies of your application and infrastructure. A topology is a collection of nodes and edges, where nodes represent objects like processes, container or hosts. In a view edges indicate TCP connections between nodes. Different node types can be filtered on and viewed and specific microservices can be drilled down on and inspected. Nodes are presented in a particular order with the clients above servers. As a general rule, Weave Cloud views are read by going from top to bottom.

Views

Views can be thought of as high-level filters on your containerized microservices as they run in the cloud. They are categorized into: Processes, Containers, Orchestrators, and Hosts. Weave Cloud is orchestrator aware which means that if an app is running in a Kubernetes cluster then it displays Pods, Replica Sets, Deployments, and Services.

'Kubernetes Views'

If your app is deployed to the Amazon EC2 cluster service, then it displays the Services and Tasks that make up an ECS cluster.

'ECS Views'

Under the hosts view, and if you are using Weave Net for container or pod networking, a specific Weave Net view appears. This view is useful for troubleshooting any networking problems you may be having. This view displays a number of Weave Net specific attributes such as whether quorum has been reached, the IP addresses used, whether fast datapath is enabled, or if encryption is running and many other useful attributes.

See the Weave Net User Guide for more information.

Graph, Table or Resources Mode

In addition to these views, nodes can be presented either in graphical or in table mode. The graphical mode is practical for obtaining a quick visual overview of your app, its infrastructure and connections between all of the nodes. And when you switch to table mode, nodes are presented in a convenient list that displays the resources being consumed by processes, containers, and hosts by dynamically shifting the resource heavy nodes to the top of the table, much like the UNIX top command does.

'Table Mode Displaying Nodes by Resource Usage'

Resources mode is yet another way to view Resource usage. It displays your app in its infrastructure and provides a quick graphical overview of Memory and CPU usage by Process, Container and Host.

'Container Resource Usage'

Filtering and Searching

In the left-hand corner of the UI are other filtering and other options. Nodes can be filtered by CPU and Memory so that you can easily find containers using the most resources. In the container view, options are available to filter by system, application or to show all of the containers and if you are running an app in Kubernetes then your app can be filtered by namespace and by container state whether running or stopped or contained and uncontained.

'CPU usage indicator in Weave Cloud'

Use Search to quickly find node types, containers and processes by name, label or even path. The search functionality supports simple operands so that you can for example, find processes consuming a certain memory limit or nodes that are using a range of CPU cycles. Search terms may also be stacked to create custom, complex search criterion. See the online help within the product for a full list of allowable operands and also the allowable fields and metrics on which you can search.

'Search'

Real-time App and Container Metrics

View contextual metrics, tags and metadata for your containers by clicking on a node to display its details panel. Drilldown on processes inside your container to the hosts that your containers run on, arranged in expandable, sortable tables.

Choose an overview of your container infrastructure, or focus on a specific microservice. Identify and correct issues to ensure the stability and performance of your containerized applications.

Troubleshoot and Manage Containers

Click on a container, pod or host to view the controls that allow you to: pause, restart, stop and delete without having to leave the Scope browser window. Logs of selected containers or pods (if you are running Kubernetes) can also be displayed by clicking the terminal icon.

And if further troubleshooting is required, terminal windows can be launched from any container or host so that you can interact with your app and run any UNIX command to diagnose issues. Launch a terminal by clicking the >_ icon from the details panel of a selected container or host.

'Terminal for container interaction'

See Also