Monitor Kubernetes infrastructure and applications. Scale Kubernetes workloads based on metrics in Tanzu Observability by Wavefront.

Monitor your Kubernetes environment at the infrastructure level and at the applications level with Tanzu Observability by Wavefront (Wavefront) Collector for Kubernetes.

  • Monitor Kubernetes infrastructure metrics (containers, pods, etc.) from Wavefront dashboards – and create alerts from those dashboards.
  • Automatically collect metrics from applications and workloads using built-in plug-ins such as Prometheus, Telegraf, etc.

Scale your Kubernetes environment based on the metrics sent to Wavefront with the Wavefront Horizontal Pod Autoscaler Adapter.

Videos

The following two videos get you started.

  • Monitor and Scale Kubernetes with Wavefront (August 2019, 6 minutes) gives you the big picture. It explains the different ways of monitoring Kubernetes with Wavefront.
  • Kubernetes and Wavefront (January 2020, 13 minutes) includes more details and some recent developments, including the one-click install of the new Wavefront Collector for Kubernetes.
monitor and scale Kubernetes Kubernetes and Wavefront Details

Send Data from Your Kubernetes Environment to Wavefront

You can send data to Wavefront in several ways:

  • Direct: Use the Wavefront Kubernetes collector to send data directly from your Kubernetes cluster to the Wavefront proxy. The Collector can collect metrics from Prometheus compatible applications and support a number of Telegraf plugins.

  • Prometheus: If you are already using Prometheus to view your data and want to monitor your Kubernetes data with Tanzu Observability, send data to the Wavefront Kubernetes collector.

The diagram shows the different components and ways you can send data to Wavefront from your Kubernetes environment. The details are explained above.

To use the Kubernetes collector, you need to install Wavefront’s Kubernetes integration. Use one of the following options:

  • [Recommended] Directly through Wavefront’s user interface.
    1. Log in to your Wavefront instance and click Integrations from the taskbar.
    2. Search for the Kubernetes integration and click it.
    3. Install the integration using Helm (Tanzu cluster or Kubernetes cluster) or OpenShift. You can preview the setup steps here. Shows the three options to install the Kuberntes collector
  • Or follow the guidelines given in the Bitnami guide.

Monitor Kubernetes with Wavefront

The Wavefront Collector for Kubernetes supports monitoring for your Kubernetes infrastructure at all levels of the stack.

  • Set up the Wavefront Collector to have much of the monitoring happen automatically.
  • Fine-tune and customize the solution with configuration options available in the Wavefront Collector for Kubernetes.

Infrastructure Monitoring

Our Collector for Kubernetes collects metrics to give comprehensive insight into all layers of your Kubernetes environment, such as nodes, pods, services, and config maps.

Depending on the selected setup, metrics are sent to the Wavefront proxy and from there to the Wavefront service. It’s possible to send metrics using direct ingestion, but the Wavefront proxy is preferred for most cases.

kubernetes core monitoring

The collector runs as a DaemonSet for high scalability and supports leader election for monitoring cluster-level resources.

Host-Level Monitoring

The Wavefront Collector for Kubernetes supports automatic monitoring of host-level metrics and host-level systemd metrics. When you set up the collector, it auto-discovers pods and services in your environment and starts collecting host-level metrics.

You can filter the metrics before they are reported to Wavefront.

Application Monitoring

The Wavefront Collector for Kubernetes automatically starts collecting metrics from many commonly used applications:

  • The collector auto-discovers endpoints using labels. See Auto Discovery.
  • The collector also scrapes Prometheus metric endpoints such as API server, etcd, and NGINX.

You can also configure the collector to collect data from Telegraf application sources, such as Redis, RabbitMQ. etc., using the configuration.md file.

The following diagram illustrates this:

kubernetes application monitoring

Visualize Kubernetes Data with Wavefront

Wavefront gives you out-of-the-box dashboards once the Kubernetes Collector is installed via the integration. To access these dashboards, you need to:

  1. Log in to your Wavefront instance and click Integrations from the taskbar.
  2. Search for the Kubernetes integration and click it.
  3. Click the Dashboards tab.

This image shows the out-of-the box dashboards for kubernetes: Kubernetes Summary dashboard, Kubernetes Clusters dashboard, Kubernetes Nodes dashboard, Kubernetes Pods dashboard, Kubernetes Containers dashboard, Kubernetes Namespaces dashboard, and Kubernetes Collector Metrics dashboard

The Kubernetes Summary dashboard gives details on the health of your infrastructure and workloads. You can drill down from this dashboard and identify potential hotspots.

The out-of-the-box dashboards:

Dashboard Description
Kubernetes Summary Detailed health of your infrastructure and workloads. a screenshot of the Kubernetes summary dashboard with charts.
Kubernetes Clusters Detailed health of your clusters and their nodes, namespaces, pods, and containers. a screenshot of the Kubernetes cluster dashboard with charts.
Kubernetes Nodes Detailed health of your nodes. a screenshot of the Kubernetes nodes dashboard with charts.
Kubernetes Pods Detailed health of your pods broken down by node and namespace. a screenshot of the Kubernetes pods dashboard with charts.
Kubernetes Containers Detailed health of your containers broken down by namespace, node, and pod. a screenshot of the Kubernetes container dashboard with charts.
Kubernetes Namespaces Details of your pods or containers broken down by namespace. a screenshot of the Kubernetes namespaces dashboard with charts.
Kubernetes Collector Metrics Internal stats of the Wavefront Kubernetes Collector. a screenshot of the Kubernetes collector metrics dashboard with charts.

Scale Kubernetes with Wavefront

The default Kubernetes infrastructure can include a Horizontal Pod Autoscaler, which can automatically scale the number of pods. The Horizontal Pod Autoscaler gets CPU and memory information from the Kubernetes Metrics Server by default, and the Horizontal Pod Autoscaler uses that information.

The Wavefront Horizontal Pod Autoscaler Adapter allows you to scale based on any metric that it knows about.

For example, you could scale based on networking or disk metrics, or any application metrics that are available to Wavefront. The Autoscaler Adapter sends the recommendation to the Horizontal Pod Autoscaler, and the Kubernetes environment is kept healthy as a result.

kubernetes scaling diagram

Next Steps