53 lines
1015 B
Bash
Executable File
53 lines
1015 B
Bash
Executable File
#!/bin/bash
|
|
# vi: set sw=4 ts=4 ai:
|
|
|
|
# See also
|
|
# https://docs.observium.org/developing/add_app/
|
|
# https://docs.observium.org/developing/add_graph/
|
|
# http://www.ajlc.waterloo.on.ca/node/6
|
|
#
|
|
# This script needs a config file, containing:
|
|
#
|
|
# ICEURL="http://<icecast_ip>:<icecast_port>"
|
|
#
|
|
# e.g.
|
|
# ICEURL="http://127.0.0.1:8000"
|
|
#
|
|
|
|
IAM="${0##*/}"
|
|
CRD="$( [[ "$(printf "${0}" | cut -c 1 )" = "." ]] &&
|
|
{ printf "${PWD}/${0}"
|
|
} || {
|
|
printf "${0}"
|
|
})"
|
|
CRD="${CRD%/*}"
|
|
CONF="${CRD}/${IAM}.conf"
|
|
|
|
# Need a config
|
|
if [[ ! -f ${CONF} ]]
|
|
then
|
|
echo "No config file found for ${IAM}" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Read the config
|
|
source ${CONF}
|
|
|
|
L=$(wget ${ICEURL}/status.xsl -o /dev/null -O -)
|
|
|
|
cur=$(echo "${L}" | \
|
|
sed -n '/Current Listeners/,/<\/tr>/p' | \
|
|
grep streamdata | \
|
|
sed 's/[^0-9]//g')
|
|
|
|
peak=$(echo "${L}" | \
|
|
sed -n '/Peak Listeners/,/<\/tr>/p' | \
|
|
grep streamdata | \
|
|
sed 's/[^0-9]//g')
|
|
|
|
echo '<<<app-icecast>>>'
|
|
echo "current:${cur}"
|
|
echo "max:${peak}"
|
|
|
|
exit 0
|