Weave Scope Introduction + Kubernetes tutorial


Weave Scope is a visualization, and monitoring tool for Docker and Kubernetes.For Microservices-based architecture,Weave scope would be useful in visualizing network bottlenecks, troubleshooting CPU consumption and troubleshooting memory leaks.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 being deployed to a cloud provider.

WeaveScope / Source - Weave Works
Image – WeaveScope / Source – Weave Works

If you’re looking for quickstart on basic understanding of Kubernetes concepts, please refer earlier posts for understanding on Kubernetes & how to create, deploy & rollout updates to the cluster.

Key Features

  • Drill down Views: For an app which is running in Kubernetes, Scope displays Pods, Replica Sets, Deployments, and related Services on clusters.So for containerized microservices running in the cloud,you can view Processes, Containers, Orchestrators, and Hosts.
  • Real-time Contextual metrics: By clicking on a node you can get a detailed panel with additional metrics on the node. From the detailed panel, you can drill down on processes inside your container to the hosts that your containers run on.
  • Troubleshoot / Manage Containers: On clicking of a container, pod, or host, you can view the controls pane from there you can pause, restart, stop and delete without having to leave the Scope browser window. 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.
  • Search: Weave supports simple operands so that for example, you can find processes consuming a certain amount of memory or nodes using too much CPU.
  • Filtering options : Nodes can be filtered by CPU and Memory usage so that you can easily find containers using the most resources.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.
  • Graphic / Table Mode: Views can be presented in Graphic as well as Table Mode. Graphical mode is more useful in cases where you want to have a quick visual overview of your app.Table mode is for viewing data like  resources being consumed by processes, containers, and hosts, etc.,

How it Works ?

Weave Scope consists of two components: the app and the probe. The probe is responsible for gathering information about the host on which it is running. This information is sent to the app in the form of a report. The app processes reports from the probe into various visualizations (ex.Topologies).

WeaveScope components
Image – WeaveScope components

Scope app can be run as standalone mode or as a hosted Cloud offering. In standalone mode, when running Scope in a cluster, each probe sends its reports to a dedicated app. The app merges the reports from its probe into a comprehensive report that is sent to the browser.

Scope can also be used to feed reports to Weave Cloud. With Weave Cloud offering, you can centrally manage and share access to your Scope user interface. In this configuration, the probe is run locally and the apps are hosted on the cloud.

Install Weave Scope

As discussed in the earlier section, Weave Scope consists of three parts: (1) probe, (2) app, and (3) user interface. Scope can be deployed in either a standalone configuration or you can use Weave Cloud, in which case only the probes run in your environment, and the app and user interface are hosted by Weave Cloud.

In the below example, I’m going to use Kubernetes but it can be deployed to the Docker environment as well.

On your Kubernetes cluster, run the following command

kubectl create -f "https://cloud.weave.works/launch/k8s/weavescope.yaml"

Above command downloads a Scope image from Dockerhub and launches a probe onto every node as well as a single Scope app.

Install Weave Scope on Kubernetes cluster
Image – Install Weave Scope on Kubernetes cluster

Now that deployment is created, let’s check the deployment information using kubectl get pods command :

Kubectl - get pods command
Image – Kubectl – get pods command

Once all of the Pods as up and running, use kubectl expose pod command to expose the services to the outside world.

View Metrics using Weave Scope

Views in Scope is more like high-level filters, they are categorized into Processes, Containers, Orchestrators, and Hosts, etc.,

Services View

Kubernetes services overview
Image – Kubernetes services overview

Processes View

Processes view
Image – Processes view

Containers View

Containers view
Image – Containers view

Detailed App View

Detailed app view
Image – Detailed app view

Table View

Table mode
Image – Table mode

Apart from the above views, custom metrics can also be generated using plugins.

Congrats! today we have learned how to deploy WeaveScope on to Kubernetes cluster.

Like this post? Don’t forget to share it!

Useful Resources :

Weave Scope Introduction + Kubernetes tutorial
Article Name
Weave Scope Introduction + Kubernetes tutorial
Weave Scope is a visualization, and monitoring tool for Docker and Kubernetes.In this post,we will learn how to deploy WeaveScope on to Kubernetes cluster.
Publisher Name
Publisher Logo

Average Rating

5 Star
4 Star
3 Star
2 Star
1 Star

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

kubernetes logo Previous post 3 Alternative Kubernetes container runtimes
kubernetes logo Next post 10 BEST Kubernetes monitoring tools