Already have an account? Sign In
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.
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 k8s.io/kube-state-metrics
Now change into the newly downloaded directory:
Then to deploy this project to your cluster you simply run:
kubectl apply -f examples/standard
Download the metricbeat kubernetes deployment manifest using the link below:
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.
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
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.
You should now start to see logs arriving in Kibana from your Kubernetes cluster, similar to the example below.