The Explore feature of Weave Cloud automatically detects and monitors every host, container and process in your infrastructure. It builds a map showing their inter-communications and then presents a number of real-time views in the Cloud dashboard.
You can visualize and control your distributed applications and troubleshoot bottlenecks, memory leaks or any other issues. You can do this without without requiring changes to your code or configuration, and without you having to make declarations about your infrastructure that become out-of-date and stale.
Gain a deeper understand of how your app is running in a cloud native environment:
1. Analyze your development environment in Weave Cloud (from your laptop or where ever you have your development environment set up).
2. Integrate and test your code in a CI system and then build a Docker image.
3. Deploy the app onto a cluster in a staging environment.
4. Use Weave Cloud to visualize processes, containers and orchestrators and to verify that it is consistent with your development environment before going live.
Weave Cloud’s Explore feature automatically detects your orchestrator whether it’s:
- Kubernetes (including e.g. OpenShift, GKE)
- Amazon ECS
- Docker Swarm / Docker Datacenter
It automatically shows orchestrator-specific concepts in the top menu on the Explore tab. For example, if you are using Kubernetes, it will show you Pods, Services and Deployments. On ECS, it shows you Tasks. And on Docker Swarm, it shows you Services.
See Installing Agents for more information.
Microservices-based architecture poses significant challenges when deployed to Docker containers. Microservices tend to be dynamic with many distributed components, which can make monitoring difficult. But with Weave Cloud, visualizing network bottlenecks, troubleshooting CPU consumption and memory leaks is simplified. With Views, you can quickly examine various metrics about your containerized app.
Views provide a number of filters on your containerized microservices as they run in the cloud. They are categorized into: Processes, Containers, Orchestrators, and Hosts. The Orchestrator view is context-sensitive, and so, if an app is running in a Kubernetes cluster, then Pods, Replica Sets, Deployments, and Services are displayed and can be drilled down on to view their metrics for troubleshooting.
If your app is deployed to the Amazon EC2 cluster service, then Weave Cloud displays Services and Tasks that make up an ECS cluster.
Under the hosts view, and if you are running Weave Net for container 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 Weave Net User Guide for more information.
For information on installing Explore agents, see Installing Agents
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. You can sort the table by different columns.
The Explore function of Weave Cloud generates a map of your processes, containers and hosts, so that you can understand, monitor, and control your applications. It uses established APIs (for example: /proc, conntrack, the Docker API etc.) to gather information about the hosts on which it is running.
Information collected by the Weave Cloud Explore agents is used to build a topology of the applications and the containers running on the hosts. Reports are generated locally by the agent and then sent to the app, where they are merged and processed to form cluster-wide views.
This intelligently groups nodes to help diagnose problems in your app as well as to clarify and model its infrastructure set up. For example, you can use the Docker ‘containers-grouped-by-hostname’ view to identify and dedupe replicas of containers that back multiple services, and show which services within your Docker infrastructure are communicating.
Drill down on nodes in any topology, and view contextual details for your containers, hosts and processes. Metrics have been brought front and center, the tags and metadata user interface redefined with the children of your container/host arranged in expandable, sortable tables. For example, the container consuming the most CPU or memory on a given host can be determined quickly with just a few clicks.
Container details show metrics for memory and CPU as 15-second sparklines of metrics such as memory and CPU usage, providing a snapshot so that you can quickly understand how your containers are performing.
You can drill up and down between the various topologies that Weave Cloud natively understands. This enables you to easily navigate from containers, to hosts, processes, images, pods and services – and back again.
Metrics from Weave Net, Docker Containers, the Linux Kernel and your orchestrator are easily examined from the Weave Cloud dashboard.
Control the entire container lifecycle across your cluster hosts from a single dashboard. Start, stop, pause and restart containers from the details panel, and toggle filters for stopped containers in the containers view.
Controlling containers goes beyond simple lifecycle operations. With Weave Cloud, you can also attach and exec. Attach executes a Docker attach against the container and lets you view its instantaneous output (e.g. logs) live. Exec runs a shell in the container so that you can debug your running app in real-time.