backup script completed, all backup taken for 23-Feb
This commit is contained in:
94
wsl/scripts/iptsp_check.sh
Normal file
94
wsl/scripts/iptsp_check.sh
Normal file
@@ -0,0 +1,94 @@
|
||||
#!/bin/bash
|
||||
|
||||
# version 1.0
|
||||
|
||||
# set -euo pipefail
|
||||
|
||||
JQ=${JQ:-"jq"}
|
||||
|
||||
say() { printf "%s\n" "$*"; }
|
||||
sep() { printf "\n-----------------------------\n"; }
|
||||
|
||||
|
||||
say "Starting IPTSP Check Script..."
|
||||
|
||||
echo "---Total: $(openstack server list --project 89c4c3f1d4244ce7ba061d0cf86c1900 --all-projects -f value | wc -l)/Active: $(openstack server list --project 89c4c3f1d4244ce7ba061d0cf86c1900 --all-projects --status ACTIVE -f value | wc -l)"
|
||||
|
||||
sep;
|
||||
|
||||
say "Non-Active Instances:"
|
||||
|
||||
openstack server list --project 89c4c3f1d4244ce7ba061d0cf86c1900 --all-projects -f value -c Name -c Status | awk '$NF!="ACTIVE"' | while read -r instance_name instance_status; do
|
||||
echo "Instance Name: $instance_name, Status: $instance_status"
|
||||
done
|
||||
|
||||
sep;
|
||||
|
||||
say "Checking VMs"
|
||||
|
||||
hypervisors=()
|
||||
declare -a index
|
||||
|
||||
|
||||
while read -r instance_id; do
|
||||
((index++))
|
||||
sep;
|
||||
echo "Instance ID: $instance_id"
|
||||
NAME=`openstack server show $instance_id -f json | $JQ -r '.name'`
|
||||
STATUS=`openstack server show $instance_id -f json | $JQ -r '.status'`
|
||||
VMSTATE=`openstack server show $instance_id -f json | $JQ -r '."OS-EXT-STS:vm_state"'`
|
||||
PWR=`openstack server show $instance_id -f json | $JQ -r '."OS-EXT-STS:power_state"'`
|
||||
HYP=`openstack server show $instance_id -f json | $JQ -r '."OS-EXT-SRV-ATTR:hypervisor_hostname"'`
|
||||
# FAULT=$(echo "$instance_id" | $JQ -r '.fault // empty')
|
||||
echo "Name: $NAME"
|
||||
echo "Status: $STATUS"
|
||||
echo "VMState: $VMSTATE"
|
||||
echo "Power State: $PWR"
|
||||
echo "Hypervisor: $HYP"
|
||||
# echo "Fault: $FAULT"
|
||||
hypervisors+=("$HYP")
|
||||
if [[ $index -eq 4 ]]; then
|
||||
break
|
||||
fi
|
||||
done < <(openstack server list --project 89c4c3f1d4244ce7ba061d0cf86c1900 --all-projects -f value -c ID)
|
||||
|
||||
sep;
|
||||
|
||||
for host in "${hypervisors[@]}"; do
|
||||
echo "Checking Hypervisor: $host"
|
||||
load_avg=`openstack hypervisor show "$host" -f json | $JQ -r '.load_average'`
|
||||
memory_mb=`openstack hypervisor show "$host" -f json | $JQ -r '.memory_mb'`
|
||||
memory_gb=$((memory_mb / 1024))
|
||||
memory_mb_used=`openstack hypervisor show "$host" -f json | $JQ -r '.memory_mb_used'`
|
||||
memory_gb_used=$((memory_mb_used / 1024))
|
||||
memory_free=$((memory_mb - memory_mb_used))
|
||||
memory_free_gb=$((memory_free / 1024))
|
||||
memory_utilized=$((memory_mb_used * 100 / memory_mb))
|
||||
echo "Memory Provisioned: $memory_utilized %"
|
||||
echo "Memory Total: $memory_gb GB"
|
||||
echo "Memory Used: $memory_gb_used GB"
|
||||
echo "Memory Free: $memory_free_gb GB"
|
||||
echo "Load Average: $load_avg"
|
||||
# memory_total=`$hypervisor_json | $JQ -r '.memory_mb'`
|
||||
# memory_used=`$hypervisor_json | $JQ -r '.memory_mb_used'`
|
||||
# memory_free=$((memory_total - memory_used))
|
||||
# memory_utilized=$((memory_used * 100 / memory_total))
|
||||
# echo "Memory Utilized: $memory_utilized %"
|
||||
# echo "Memory Total: $memory_total MB"
|
||||
# echo "Memory Used: $memory_used MB"
|
||||
# echo "Memory Free: $memory_free MB"
|
||||
done
|
||||
|
||||
openstack router list --project 89c4c3f1d4244ce7ba061d0cf86c1900 -f value -c ID -c Name | while read -r router_id router_name; do
|
||||
sep;
|
||||
echo "RouterName: $router_name and RouterID: $router_id"
|
||||
echo "$(openstack network agent list --router $router_id)"
|
||||
echo "Active: $(openstack network agent list --router $router_id -f value -c ID -c State | wc -l) / Down: $(openstack network agent list --router $router_id -f value -c ID -c State | grep -c False)"
|
||||
echo "$(neutron l3-agent-list-hosting-router $router_id)"
|
||||
# echo "Interface Info: $interface_info"
|
||||
router_status=`openstack router show $router_id -f json | jq -r .status`
|
||||
echo "Router Status: $router_status"
|
||||
floatIp=`openstack router show $router_id -c external_gateway_info -f json | jq -r .external_gateway_info.external_fixed_ips[0].ip_address`
|
||||
ping -c 3 $floatIp
|
||||
break
|
||||
done
|
||||
Reference in New Issue
Block a user