govc random

 #!/bin/sh

export GOVC_URL='<VC URL>'

export GOVC_USERNAME='<USERNAME>'

export GOVC_PASSWORD='<PASSWORD>'

export GOVC_INSECURE=1

export GOVC_DATACENTER=<DATACENTER>

export no_proxy=IPs & DOMAIN


date=`echo "'"$(date +%F)"'"`

################# Scan for ESXi / HW Data #######################################



for cluster in `govc ls /OpenShift/host/ | grep -v OLD | grep -v Maint|awk -F '/' '{print $4}'`

do

        for host in `govc ls /OpenShift/host/$cluster | grep -v Resources |awk -F '/' '{print $5}'`

        do

                vendor=`echo "'"$(govc host.info /OpenShift/host/$cluster/$host | grep Manufacturer: |awk '{print $2}')"'"`

                memory=`expr  $(govc host.info /OpenShift/host/$cluster/$host | grep Memory:|awk -F 'MB' '{print $1}'|awk '{print $2}') / 1024`

                cpu=`govc host.info /OpenShift/host/$cluster/$host | grep "Logical CPUs:" | awk '{print $3}'`

                uptime=`echo "'"$(govc host.info /OpenShift/host/$cluster/$host |grep "Boot time:" | awk '{print $3}')"'"`

                cpuUsage=`govc host.info /OpenShift/host/$cluster/$host |grep "CPU usage:"| awk '{print $5}'| tr -d '()'| tr -d '%'`

                memoryUsage=`govc host.info /OpenShift/host/$cluster/$host |grep "Memory usage:"| awk '{print $5}'|tr -d '()'| tr -d '%'`

                state=`echo "'"$(govc host.info /OpenShift/host/$cluster/$host |grep State: | awk -F':' '{print $2}')"'"`

                host_data=`echo "'"$host"'"`

                cluster_data=`echo "'"$cluster"'"`

                PGPASSWORD=postgres psql -U postgres -d ocp -h testserver -p 5432  -c "INSERT INTO region_stat (date,vendor,memory,cpu,cpuusage,memoryusage,uptime,host,cluster,state) VALUES ($date,$vendor,$memory,$cpu,$cpuUsage,$memoryUsage,$uptime,$host_data,$cluster_data,$state);"



        done


done


##################### Scan for OCP cluster and vSphere Cluster data #########################################


for cluster in `govc ls /OpenShift/vm | awk -F '/' '{print $NF}' | grep OCP`

do

        for vm in `govc ls /OpenShift/vm/$cluster | awk -F"/" '{print $NF}' | grep -i ocp`

        do

                vm_name=`echo $vm | awk -F"." '{print $1}' | grep 'b$'`

                if [ $? -eq 0 ]

                then

                        host_name=`echo "'"$(govc vm.info /OpenShift/vm/$cluster/$vm | grep Host: | tr -d " " | awk -F":" '{print$NF}' | awk -F"." '{print $1}')"'"`

                        vm_name=`echo "'"$(echo $vm_name)"'"`

                        cluster_name=`echo "'"$cluster"'"`

                        PGPASSWORD=postgres psql -U postgres -d ocp -h testserver -p 5432  -c "INSERT INTO vm_stat (date,vmname,hostname,vcluster,ocpcluster) VALUES ($date,$vm_name,$host_name,'',$cluster_name);"

                fi

        done

done



for VC_cluster in `govc ls /OpenShift/host | awk -F '/' '{print $NF}' | grep -i OCP`

do

        for host_name in `govc ls /OpenShift/host/$VC_cluster | awk -F"/" '{print $NF}' | grep -i OCP | awk -F"." '{print $1}'`

        do

               VC_cluster_data=`echo "'"$VC_cluster"'"`

               host_name_data=`echo "'"$host_name"'"`

               echo $VC_cluster $host_name

               PGPASSWORD=postgres psql -U postgres -d ocp -h testserver -p 5432  -c "UPDATE vm_stat set vcluster=$VC_cluster_data WHERE hostname=$host_name_data;"

        done

done





############################### Scan for Datastore Data #################################################


for cluster in `govc ls /OpenShift/datastore | grep -v 'To-Be-Deleted\|Free\|Local-IL\|Local-IN\|Misc\|Maint\|_local\|datastore[1..5]\|VIPR' |awk -F '/' '{print $4}'`

do

        for ds in `govc ls /OpenShift/datastore/$cluster| awk -F '/' '{print $5}'`

        do

                if [[ $ds =~ ^deploy-* ]];

                then

                        for sub_ds in `govc ls /OpenShift/datastore/$cluster/$ds|awk -F '/' '{print $6}'`

                        do

                                capacity=`govc datastore.info /OpenShift/datastore/$cluster/$ds/$sub_ds | grep "Capacity:" |awk '{print $2}'`

                                free=`govc datastore.info /OpenShift/datastore/$cluster/$ds/$sub_ds | grep Free: |awk '{print $2}'`

                                sub_ds=`echo "'"$sub_ds"'"`

                                cluster_ds1=`echo "'"$cluster"'"`

                                PGPASSWORD=postgres psql -U postgres -d ocp -h testserver -p 5432  -c "INSERT INTO data_stat (date,datastore,cluster,capacity,free) VALUES ($date,$sub_ds,$cluster_ds1,$capacity,$free);"

                        done


                else

                        capacity=`govc datastore.info /OpenShift/datastore/$cluster/$ds | grep "Capacity:" |awk '{print $2}'`

                        free=`govc datastore.info /OpenShift/datastore/$cluster/$ds | grep Free: |awk '{print $2}'`

                        sub_ds=`echo "'"$ds"'"`

                        cluster_ds2=`echo "'"$cluster"'"`

                        PGPASSWORD=postgres psql -U postgres -d ocpinfra -h testserver -p 5432  -c "INSERT INTO data_stat (date,datastore,cluster,capacity,free) VALUES ($date,$sub_ds,$cluster_ds2,$capacity,$free);"


                fi

        done

done


Comments

Popular posts from this blog

HP-UX virtual Machine Cheat Sheet

How to run fdisk in non-interactive mode