Add simple script for monitoring svxreflector status

A simple shell script to monitor svxreflector status in the shell.

watch -cn 0.1 ./svxreflector_status.sh
This commit is contained in:
Tobias Blomberg 2019-09-29 18:01:41 +02:00
parent 3e5c830c21
commit f1d324569f
1 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,27 @@
#!/bin/bash
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m'
function print_table()
{
format="%-10s | %6s | %s\n"
printf "${GREEN}${format}${NC}" "Callsign" "TG#" "Monitored TGs"
echo "------------------------------------------------------------------------"
status=$(curl -s http://localhost:8080/status)
local -a nodes=($(echo "$status" | jq -r '.nodes | keys | .[]'))
for node in "${nodes[@]}"; do
local -i tg=$(echo "$status" | jq -r ".nodes[\"$node\"].tg")
is_talker=$(echo "$status" | jq -r ".nodes[\"$node\"].isTalker")
local -a monitored_tgs=($(echo "$status" | jq ".nodes[\"$node\"].monitoredTGs[]"))
color=${GREEN}
if $is_talker; then
color=${RED}
fi
printf "${color}${format}${NC}" "$node" "$tg" "${monitored_tgs[*]}"
done
}
print_table