Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- servers=$(virsh -rc "qemu:///system" list --all | grep -Ev 'Id|--')
- answer='{"servers":[';
- while read line; do
- server=$(echo "$line" | awk '{print $2}')
- state=$(echo "$line" | awk '{print $3}')
- if [ "$state" = "running" ]; then
- running="true"
- else
- running="false"
- fi
- if [ "$running" = "true" ]; then
- interfaces=$(virsh -rc 'qemu:///system' domiflist "$server" | grep -Ev 'Interface|--')
- while read interfaceLine; do
- interface=$(echo "$interfaceLine" | awk '{print $1}')
- network=$(echo "$interfaceLine" | awk '{print $3}')
- rx=$(cat "/sys/class/net/$interface/statistics/rx_bytes")
- tx=$(cat "/sys/class/net/$interface/statistics/tx_bytes")
- interfaceString="$interfaceString{\"name\":\"$interface\",\"net\":\"$network\",\"rx\":$rx,\"tx\":$tx},"
- done <<< "$interfaces"
- fi
- interfaceString=$(echo "$interfaceString" | sed 's/,$//')
- answer="$answer{\"name\":\"$server\",\"running\":$running,\"interfaces\":[$interfaceString]},"
- interfaceString=""
- done <<<"$servers"
- answer=$(echo "$answer" | sed 's/,$//')
- answer="$answer]}"
- length=${#answer}
- echo "Content-Length: $length"
- echo "Content-Type: application/json"
- echo
- echo -ne $answer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement