Get a DemoStart Free TrialSign In

Azure Kubernetes Metrics

Collect and ship Azure Kubernetes container service metrics to Logstash and Elasticsearch.

Metricbeat is a lightweight shipper that helps you monitor Azure Kubernetes Service by collecting metrics from the containers running on the host system. Configure Metricbeat using the pre-defined examples below to collect and ship Azure Kubernetes service metrics and statistics to Logstash or Elasticsearch.

Send Your DataMetricsAzureAzure Kubernetes Metrics Guide

Follow this step by step guide to start sending data from your system to

Step 1 - Install Kube-State-Metrics

You are going to need an instance of Kube State Metrics running in your cluster so that we can access different metrics that aren't accessible using just Metricbeat. Kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.

In the Azure cloud shell run the following command to download the kube-state-metrics.

go get

Now change into the newly downloaded directory:

cd go/src/

Then to deploy this project to your cluster you simply run:

kubectl apply -f examples/standard
Read more about what configuration and options are available for Kube State Metrics There are different settings and configurations you can use specifically for your cluster but for this example the default settings are being used.

Step 2 - Download Manifest File

Download the metricbeat kubernetes deployment manifest using the link below:

Click to download metricbeatbeat-kubernetes-7.10.0.yaml

Step 3 - Insert stack details

Now you have the manifest you're going to want to add your Stack details. Open the file in a text editor.

Locate the environment variables controlling the logging destination and enter your Stacks Logstash input information.

We need to change the environment variables on both lines 142 & 270.

No input available! Your Stack is missing the required input for this data source Talk to support to add the input
This is because Kubernetes runs a Metricbeat instance on each node in the cluster and also an additional single instance of Metricbeat to retrieve metrics for the cluster itself.

Step 4 - Deploy pod

Now your Metricbeat deployment manifest is updated with your Stack details, you can deploy it using the following command in Azure Cloud Shell:

kubectl apply -f metricbeat-kubernetes-7.10.0.yaml

Step 5 - Confirm deployment succesful

Confirm that your pod has successfully been deployed using one or all of the following commands in Azure Cloud Shell:

kubectl get po -A

kubectl --namespace=kube-system get ds/metricbeat

kubectl --namespace=kube-system get pods

You should see a pod for each Kubernetes node with a name similar to metricbeat-abcde listed.

Step 6 - Check for your logs

Data should now have been sent to your Stack.

View my data

If you don't see logs take a look at How to diagnose no data in Stack below for how to diagnose common issues.

Step 7 - Example Log

You should now start to see logs arriving in Kibana from your Kubernetes cluster, similar to the example below.

Logs arriving in Kibana

Return to Search
Sign Up

© 2024 Ltd, All rights reserved.