host-metrics-disk /dev/shm/vhostmd0 256 60 /bin:/sbin:/usr/bin:/usr/sbin:/usr/share/vhostmd/scripts vbd HostName hostname Time date +%s VirtualizationVendor rpm -qi libvirt| grep Vendor: \ | awk '{ print substr($0, index($0, $5)); }' | sort -u VirtProductInfo virsh -r CONNECT version \ |awk -F ':' ' function mkvarnam(s) { # UPPER_CASE_UNDERSCORE sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim gsub("[[:space:]]+", "_", s); s = toupper(s); return s; } function filt_phys(s, sep, num, unit) { # 42.0 KM sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim if ( s ~ /^[0-9]*\.?[0-9]+[[:space:]]*[[:alpha:]]+$/ ) { num = s; unit = s; sub("[[:space:]]*[[:alpha:]]+$", "", num); sub("^[0-9]*[.]?[0-9]+[[:space:]]*", "", unit); return num sep toupper(unit); } else { return s; } } /:/ { d1 = substr($0, 1, index($0, ":") - 1); rest = substr($0, index($0, ":") + 1); printf("%s:%s\n", mkvarnam(d1), filt_phys(rest, ":")); }' \ | awk -F: '$1 == "USING_API" { print $2; }' HostSystemInfo hostname -s NumberOfPhysicalCPUs virsh -r CONNECT nodeinfo \ |awk -F ':' ' function mkvarnam(s) { # UPPER_CASE_UNDERSCORE sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim gsub("[[:space:]]+", "_", s); s = toupper(s); return s; } function filt_phys(s, sep, num, unit) { # 42.0 KM sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim if ( s ~ /^[0-9]*\.?[0-9]+[[:space:]]*[[:alpha:]]+$/ ) { num = s; unit = s; sub("[[:space:]]*[[:alpha:]]+$", "", num); sub("^[0-9]*[.]?[0-9]+[[:space:]]*", "", unit); return num sep toupper(unit); } else { return s; } } /:/ { d1 = substr($0, 1, index($0, ":") - 1); rest = substr($0, index($0, ":") + 1); printf("%s:%s\n", mkvarnam(d1), filt_phys(rest, ":")); }' \ | awk -F: '$1 == "CPU(S)" { print $2; }' MemoryAllocatedToVirtualServers free|egrep -i '^[[:space:]]*(Mem:)' \ | awk 'BEGIN { sum = 0; } { sum += $3; } END { printf "%d\n", sum/1024; }' FreePhysicalMemory free|egrep -i '^[[:space:]]*(Mem:)' \ | awk 'BEGIN { sum = 0; } { sum += $4; } END { printf "%d\n", sum/1024; }' FreeVirtualMemory free|egrep -i '^[[:space:]]*(Mem:|Swap:)' \ | awk 'BEGIN { sum = 0; } { sum += $4; } END { printf "%d\n", sum/1024; }' UsedVirtualMemory free|egrep -i '^[[:space:]]*(Mem:|Swap:)' \ | awk 'BEGIN { sum = 0; } { sum += $3; } END { printf "%d\n", sum/1024; }' PagedInMemory vmstat -s | awk 'BEGIN { cmd = "getconf PAGESIZE"; cmd | getline pagesize; close(cmd); } /pages swapped in/ { printf "%d\n", $1 / 1024 * pagesize / 1024; }' PagedOutMemory vmstat -s | awk 'BEGIN { cmd = "getconf PAGESIZE"; cmd | getline pagesize; close(cmd); } /pages swapped out/ { printf "%d\n", $1 / 1024 * pagesize / 1024; }' TotalCPUTime awk ' function user_hz( hz) { cmd = "getconf CLK_TCK"; cmd | getline; hz = $1; close(cmd); return hz; } BEGIN { USER_HZ = user_hz(); TotalCPUTime = 0; while ( 0 < ( getline < "/proc/stat" ) ) { if ( "cpu" == $1 ) { TotalCPUTime = $2 + $3 + $4; break; } } close("/proc/stat"); #printf "USER_HZ = %d\n", USER_HZ | "cat 1>&2"; TotalCPUTime /= USER_HZ; printf "%f\n", TotalCPUTime; #close("cat 1>&2"); }' TotalCPUTime virsh -r CONNECT dominfo NAME \ |awk -F ':' ' function mkvarnam(s) { # UPPER_CASE_UNDERSCORE sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim gsub("[[:space:]]+", "_", s); s = toupper(s); return s; } function filt_phys(s, sep, num, unit) { # 42.0 KM sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim if ( s ~ /^[0-9]*\.?[0-9]+[[:space:]]*[[:alpha:]]+$/ ) { num = s; unit = s; sub("[[:space:]]*[[:alpha:]]+$", "", num); sub("^[0-9]*[.]?[0-9]+[[:space:]]*", "", unit); return num sep toupper(unit); } else { return s; } } /:/ { d1 = substr($0, 1, index($0, ":") - 1); rest = substr($0, index($0, ":") + 1); printf("%s:%s\n", mkvarnam(d1), filt_phys(rest, ":")); }' \ | awk -F: '$1 == "CPU_TIME" { print $2; }' ResourceProcessorLimit virsh -r CONNECT dominfo NAME \ |awk -F ':' ' function mkvarnam(s) { # UPPER_CASE_UNDERSCORE sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim gsub("[[:space:]]+", "_", s); s = toupper(s); return s; } function filt_phys(s, sep, num, unit) { # 42.0 KM sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim if ( s ~ /^[0-9]*\.?[0-9]+[[:space:]]*[[:alpha:]]+$/ ) { num = s; unit = s; sub("[[:space:]]*[[:alpha:]]+$", "", num); sub("^[0-9]*[.]?[0-9]+[[:space:]]*", "", unit); return num sep toupper(unit); } else { return s; } } /:/ { d1 = substr($0, 1, index($0, ":") - 1); rest = substr($0, index($0, ":") + 1); printf("%s:%s\n", mkvarnam(d1), filt_phys(rest, ":")); }' \ | awk -F: '$1 == "CPU(S)" { print $2; }' ResourceMemoryLimit virsh -r CONNECT dominfo NAME \ |awk -F ':' ' function mkvarnam(s) { # UPPER_CASE_UNDERSCORE sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim gsub("[[:space:]]+", "_", s); s = toupper(s); return s; } function filt_phys(s, sep, num, unit) { # 42.0 KM sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim if ( s ~ /^[0-9]*\.?[0-9]+[[:space:]]*[[:alpha:]]+$/ ) { num = s; unit = s; sub("[[:space:]]*[[:alpha:]]+$", "", num); sub("^[0-9]*[.]?[0-9]+[[:space:]]*", "", unit); return num sep toupper(unit); } else { return s; } } /:/ { d1 = substr($0, 1, index($0, ":") - 1); rest = substr($0, index($0, ":") + 1); printf("%s:%s\n", mkvarnam(d1), filt_phys(rest, ":")); }' \ | awk -F: '$1 == "MAX_MEMORY" { print int($2/1024); }' PhysicalMemoryAllocatedToVirtualSystem virsh -r CONNECT dominfo NAME \ |awk -F ':' ' function mkvarnam(s) { # UPPER_CASE_UNDERSCORE sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim gsub("[[:space:]]+", "_", s); s = toupper(s); return s; } function filt_phys(s, sep, num, unit) { # 42.0 KM sub("(^[[:space:]]+|[[:space:]]+$)", "", s); # trim if ( s ~ /^[0-9]*\.?[0-9]+[[:space:]]*[[:alpha:]]+$/ ) { num = s; unit = s; sub("[[:space:]]*[[:alpha:]]+$", "", num); sub("^[0-9]*[.]?[0-9]+[[:space:]]*", "", unit); return num sep toupper(unit); } else { return s; } } /:/ { d1 = substr($0, 1, index($0, ":") - 1); rest = substr($0, index($0, ":") + 1); printf("%s:%s\n", mkvarnam(d1), filt_phys(rest, ":")); }' \ | awk -F: '$1 == "USED_MEMORY" { print int($2/1024); }'