28 lines
705 B
Bash
28 lines
705 B
Bash
#!/usr/bin/env bash
|
|
# UniFi site health summary
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
source "$SCRIPT_DIR/unifi-api.sh"
|
|
|
|
FORMAT="${1:-table}"
|
|
|
|
data=$(unifi_get "/api/s/$UNIFI_SITE/stat/health")
|
|
|
|
if [ "$FORMAT" = "json" ]; then
|
|
echo "$data"
|
|
else
|
|
# Table format
|
|
echo "$data" | jq -r '
|
|
["SUBSYSTEM", "STATUS", "# UP", "# ADOPTED", "# DISCONNECTED"],
|
|
["---------", "------", "----", "---------", "--------------"],
|
|
(.data[] | [
|
|
.subsystem,
|
|
.status,
|
|
(.num_user // .num_ap // .num_sw // .num_gw // 0 | tostring),
|
|
(.num_adopted // 0 | tostring),
|
|
(.num_disconnected // 0 | tostring)
|
|
]) | @tsv
|
|
' | column -t -s $'\t'
|
|
fi
|