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
Post a Comment