- 20. Sep
Weave Scope is a visualization and monitoring tool for Docker and Kubernetes. It provides a top-down view into your app as well as your entire infrastructure and allows you to diagnose any problems with your distributed containerized app, in real time, as it is deployed to a cloud provider.
Getting Microservices Under Control
Microservices-based architecture poses significant challenges when deployed to Docker containers in the cloud. Microservices tend to be dynamic with many distributed components, which can make monitoring difficult. But with Weave Scope, visualizing network bottlenecks, troubleshooting CPU consumption and memory leaks are simplified. With Views, you can quickly examine various metrics about your containerized app.
Automatic Topologies and Intelligent Grouping
Weave Scope 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. And it does this without any modifications to your application or needing a custom kernel module.
Information collected by Weave Scope’s probes is used to build a topology of the applications and the containers running on the hosts. Reports are generated locally by the probe (agent) and then sent to the app via HTTP, where they are merged and processed to form cluster-wide views.
Intelligently group 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 in communication.
Developer Friendly: Contextual Details and Metrics
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 interfaces 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.
Weave Scope accumulates and stores 15-second sparklines of metrics such as memory and CPU usage, These provide a snapshot so that you can quickly understand how your containers are performing.
You can drill up and down between the various topologies that Scope natively understands. This enables you to easily navigate from containers to hosts, processes, images, pods, and services - and back again.
The scope can display metrics from Weave Net, Docker Containers, and the Linux Kernel.
Real-time Container Monitoring
With Weave Scope, you can control the entire container lifecycle across your cluster hosts from a single UI. Start, stop, pause and restart containers from the details panel, and toggle filters for stopped containers in the containers view.
Controlling Scope containers goes beyond simple lifecycle operations. The scope can also attach and exec. Attach executes a Docker attach against the container and lets you interact with it live. Exec runs a shell in the container so that you can debug your running app in real-time.
Scope 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 Scope, 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, you can read a Weave Scope view by going from top to bottom.
Views in Scope
Views in Scope 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. The Orchestrator view is context-sensitive, and as a result, if an app is running in Kubernetes, then Scope displays Pods, Replica Sets, Deployments, and Services that allow you to drill down on Kubernetes clusters.
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 the quorum has been reached, the IP addresses used, whether fast data path is enabled, or if encryption is running and many other useful attributes. See Weave Net User Guide for more information.
Graphic or Table Mode
In addition to these views, nodes can be presented either in graphical or in tablet mode. The graphical model 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.
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.
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 amount memory or nodes using too much CPU. 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.
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. Drill down 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.
Generate Custom Metrics using the Plugin API
Scope includes a Plugin API, so that custom metrics may be generated and integrated with the Scope UI.