Monitor your Kubernetes environment at the infrastructure level and at the applications level with the Wavefront Collector for Kubernetes.
- Monitor Kubernetes infrastructure metrics (containers, pods, etc.) from our 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 Tanzu Observability with the Wavefront Horizontal Pod Autoscaler Adapter.
Videos
The following two videos get you started.
- Monitor and Scale Kubernetes with Wavefront (August 2019) gives you the big picture. It explains the different ways of monitoring Kubernetes with Tanzu Observability.
- Kubernetes and Wavefront (January 2020) includes more details and some recent developments, including the one-click install of the new Wavefront Collector for Kubernetes.
Send Data from Your Kubernetes Environment
You can send data to Tanzu Observability in several ways:
-
Direct: Use the Wavefront Collector for Kubernetes 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 Collector for Kubernetes.
To use the Wavefront Collector for Kubernetes, you need to set up our Kubernetes integration. Use one of the following options:
- [Recommended] Directly through your Wavefront instance user interface.
- Log in to your Wavefront instance and click Integrations on the toolbar.
- Search for the Kubernetes integration and click it.
- Install the integration using Helm (Tanzu cluster or Kubernetes cluster) or OpenShift. You can preview the setup steps here.
- Or follow the guidelines given in the Bitnami guide.
Monitor Kubernetes with Tanzu Observability
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.
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 the Wavefront service.
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:
Visualize Kubernetes Data
Tanzu Observability gives you out-of-the-box dashboards once the Wavefront Collector for Kubernetes is installed via the integration. To access these dashboards, you need to:
- Log in to your Wavefront instance and click Integrations on the toolbar.
- Search for the Kubernetes integration and click it.
- Click the Dashboards tab.
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.
These out-of-the-box dashboards are read-only. To create a customizable copy:
- Click the ellipsis icon and select Clone.
- In the cloned dashboard, add your own charts or customize the RED metrics charts.
The out-of-the-box dashboards:
Dashboard | Description |
---|---|
Kubernetes Summary |
Detailed health of your infrastructure and workloads.
![]() |
Kubernetes Clusters |
Detailed health of your clusters and their nodes, namespaces, pods, and containers.
![]() |
Kubernetes Nodes |
Detailed health of your nodes.
![]() |
Kubernetes Pods |
Detailed health of your pods broken down by node and namespace.
![]() |
Kubernetes Containers |
Detailed health of your containers broken down by namespace, node, and pod.
![]() |
Kubernetes Namespaces |
Details of your pods or containers broken down by namespace.
![]() |
Wavefront Collector for Kubernetes Metrics |
Internal stats of the Wavefront Collector for Kubernetes.
![]() |
Scale Kubernetes with Tanzu Observability
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 Tanzu Observability. The Autoscaler Adapter sends the recommendation to the Horizontal Pod Autoscaler, and the Kubernetes environment is kept healthy as a result.
Next Steps
- To use the Kubernetes collector, install the Wavefront’s Kubernetes integration.