google.com, pub-4920175566720914, DIRECT, f08c47fec0942fa0 Skip to main content

Monitoring & Logging in Kubernetes


Monitoring cluster components of Kubernetes (K8s)

There are various type of monitoring we can perform at the cluster, node level and pod level. At cluster level we can monitor like number nodes running, how many are healthy, performance status, network usage etc.


 At the POD level we can monitor disk and cpu, memory utilisation, Performance metrics of each POD about its resources.

To utilise the experience of monitoring on kubernetes cluster we can use “Metrics server” 

We can have 1 metrics server per cluster. It's retrieves the information about Nodes , PODS aggregate them and store them into memory. 

Matrics server is IN-MEMORY solution where the data or information which it fatch from nodes and pod will be in memory and does not store it in disk. 



As Metrics server is "IN-MEMORY" where it's not possible to retrieve the historical data about the kubernetes resources. To get the historical data its require to use advance tool or proprietors monitoring tool supporting kubernetes

So how does the Metrics Server get data?? 

As you know each nodes having an agent called KUBLET which is responsible to get information from API server for running and assigning pods.




KUBELET is also running sub component which called cAdvisor or container advisor.

cAdvisor is responsible for exposing performance metrics from POD and exposing it to API server then it get the data available to Metrics server.

For enabling feature use below:

For minikube : Use below code to enable metrics-server.
>minikube addons enable metrics-server




For all other environment Clone the metrics server from GitHub repository.
>git clone https://github.comkubernetes-incubator/metrics-server.git

  • Kubectl create -f deploy/1.8+/ ( run this command after cloning. It may take time to install and configure MATRICS server so be patience.

  • Kubectl top nodes ( to view the metrics about nodes)

  • Kubectl top pod ( to view the metrics about PODS)

Application logging

For watching logs of containers into the POD we can use command “kubectl log -f (pod name) . This will give you the list of events  which fetch all the containers events.

What if we want to fetch event of specific containers in a pod. For gaining this objective we need to add one parameter into the pod definition file under spec section.




  • Name : image-processor
    image: some-image-processor
 Now to get the logs for the container using below command





Kubectl log -f (pod name) (container name)


Happy learning..... :)


Comments

Popular posts from this blog

Changing the FQDN of the vCenter appliance (VCSA)

This article states how to change the system name or the FQDN of the vCenter appliance 6.x
You may not find any way to change the FQDN from the vCenter GUI either from VAMI page of from webclient as the option to change the hostname always be greyed out.
Now the option left is from the command line of VCSA appliance.
Below steps will make it possible to change the FQDN of the VCSA from the command line.
Access the VCSA from console or from Putty session.Login with root permissionUse above command in the command prompt of VCSA : /opt/vmware/share/vami/vami_config_netOpt for option 3 (Hostname)Change the hostname to new nameReboot the VCSA appliance.After reboot you will be successfully manage to change the FQDN of the VCSA .

Note: Above step is unsupported by VMware and may impact your SSL certificate and face problem while logging to vSphere Web Client.

If you are using self-signed certificate, you can regenerate the certificate with the help of below KB 2112283 article.



Happy Sharin…

VM Creation Date & Time from Powercli

Most of the times we have several requirement when we talk about IT environment like designing , deployment , compliance check or for Security auditing the environment.
Somewhere during security auditing we require to provide several information to security team to get successful audit.
One of them is the compliance of Virtual machine auditing of creation date and time.
Here into this post we will explore how to get the creation date and time of virtual machine hosted into the vCenter or ESXi.
To get the details we will use VMware Powercli to extract the details.
By default there is no function added into Powercli to get such details, so here we will add a function of vm creation date.
Below is the function which needed to be copy and paste into the Powercli.
=======================================================================
function Get-VMCreationTime { $vms = get-vm $vmevts = @() $vmevt = new-object PSObject foreach ($vm in $vms) { #Progress bar: $foundString = "       Found: "+$v…

Could not connect to one or more vCenter Server systems: https://FQDN:443/sdk

Recently I got a case where vCenter 6.0 where the webclient was not showing inventory while loading. Issue occur when the customer was performing migration activity of virtual machine.
We verified that the vpxd services of vCenter, which is VCSA (Appliance), went into stopped stated just after starting means its crashing.
On VCSA Shell: service-control --status vmware-vpxd shows "stopped" service-control --start vmware-vpxd starts the service starts for a couple of seconds and stops again
VCSA 6.0 is linked with extrnal PSC 6.0. Verified the services of PSC and found all looks into good state.
Tried to power off both the VCSA and PSC and Power on in sequence where we started first PSC and later VCSA. After restarting the VCSA, status of the VPXD services was same as it was getting stopped after couple of seconds.
Checked the VPXD logs and found that the heartbeat between ESXi and VCSA was getting timed out for more than 1032 ms or more.
VCSA has generated the core dump at /var/core. …