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.
Follow this step by step guide to get 'logs' from your system to Logit.io:
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 k8s.io/kube-state-metrics
Now change into the newly downloaded directory:
cd go/src/k8s.io/kube-state-metrics/
Then to deploy this project to your cluster you simply run:
kubectl apply -f examples/standard
Step 2 - Download Manifest File
Download the metricbeat kubernetes deployment manifest using the link below:
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.
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 Logit.io for your logs
Now you should view your 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.