From 691e52b8681de8a4b5eb3418a211b04afa58d4ee Mon Sep 17 00:00:00 2001 From: Olivier Mehani Date: Thu, 11 Apr 2019 22:56:28 +1000 Subject: [PATCH] [internode_usage] New plugin for Australian ISP Internode * Add BUGS and SPDX license * Add dirtyconfig support * Use ideal usage as warning --- .../example-graphs/internode_current-day.png | Bin 0 -> 31827 bytes .../example-graphs/internode_daily-week.png | Bin 0 -> 25938 bytes .../example-graphs/internode_usage-month.png | Bin 0 -> 27786 bytes plugins/isp/internode_usage | 224 ++++++++++++++++++ 4 files changed, 224 insertions(+) create mode 100644 plugins/isp/example-graphs/internode_current-day.png create mode 100644 plugins/isp/example-graphs/internode_daily-week.png create mode 100644 plugins/isp/example-graphs/internode_usage-month.png create mode 100755 plugins/isp/internode_usage diff --git a/plugins/isp/example-graphs/internode_current-day.png b/plugins/isp/example-graphs/internode_current-day.png new file mode 100644 index 0000000000000000000000000000000000000000..bbbd9f06a8e16fe43c2f08e817a30afbc52b8a35 GIT binary patch literal 31827 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 + +=head1 LICENSE + +SPDX-License-Identifier: GPL-3.0-or-later + +=cut + +# shellcheck disable=SC1090 +. "${MUNIN_LIBDIR:-.}/plugins/plugin.sh" + +if [ "${MUNIN_DEBUG:-0}" = 1 ]; then + set -x +fi + +if ! command -v curl >/dev/null; then + echo "curl not found" >&2 + exit 1 +fi +if ! command -v xpath >/dev/null; then + echo "xpath (Perl XML::LibXML) not found" >&2 + exit 1 +fi +if ! command -v bc >/dev/null; then + echo "bc not found" >&2 + exit 1 +fi + +if [ -z "${internode_api_url:-}" ]; then + internode_api_url="https://customer-webtools-api.internode.on.net/api/v1.5" +fi + +xpath_extract() { + xpath="$1" + xpath -q -n -e "${xpath}" | \ + sed 's/<\([^>]*\)>\([^<]*\)<[^>]*>/\2/' +} + +xpath_extract_attribute() { + xpath="$1" + xpath -q -n -e "${xpath}" | \ + sed 's/.*="\([^"]\+\)".*/\1/' +} + +fetch() { + # shellcheck disable=SC2154 + curl -u "${internode_api_login}:${internode_api_password}" -s "$@" +} + +get_data() { + SERVICE_XML="$(fetch "${internode_api_url}/${SERVICE_ID}/service")" + SERVICE_USERNAME="$(echo "${SERVICE_XML}" | xpath_extract "internode/api/service/username")" + SERVICE_QUOTA="$(echo "${SERVICE_XML}" | xpath_extract "internode/api/service/quota")" + SERVICE_PLAN="$(echo "${SERVICE_XML}" | xpath_extract "internode/api/service/plan")" + SERVICE_ROLLOVER="$(echo "${SERVICE_XML}" | xpath_extract "internode/api/service/rollover")" + SERVICE_INTERVAL="$(echo "${SERVICE_XML}" | xpath_extract "internode/api/service/plan-interval" | sed 's/ly$//')" + + HISTORY_XML="$(fetch "${internode_api_url}/${SERVICE_ID}/history")" + TODAY_TIMESTAMP="$(date +%s)" + DAILY_DATE="$(date +%Y-%m-%d -d yesterday)" + DAILY_TIMESTAMP="$(date -d "${DAILY_DATE} $(date +%H:%M:%S)" +%s)" + DAILY_USAGE="$(echo "${HISTORY_XML}" | xpath_extract "internode/api/usagelist/usage[@day=\"${DAILY_DATE}\"]/traffic")" + + USAGE_XML="$(fetch "${internode_api_url}/${SERVICE_ID}/usage")" + SERVICE_USAGE="$(echo "${USAGE_XML}" | xpath_extract "internode/api/traffic")" + + USAGE_CRITICAL="${SERVICE_QUOTA}" + USAGE_WARNING="$(echo "${SERVICE_QUOTA}*.75" | bc -ql)" + + TODAY="$(date +%s)" + FIRST_DAY="$(date +%s --date "${SERVICE_ROLLOVER} -1 ${SERVICE_INTERVAL}")" + LAST_DAY="$(date +%s --date "${SERVICE_ROLLOVER}")" + BILLING_PERIOD="(${LAST_DAY}-${FIRST_DAY})" + IDEAL_USAGE="$(echo "${SERVICE_QUOTA}-(${SERVICE_QUOTA}*(${LAST_DAY}-${TODAY})/${BILLING_PERIOD})" | bc -ql)" +} + +graph_config() { + graph="" + if [ -n "${1:-}" ]; then + graph=".$1" + fi + + echo "multigraph internode_usage_${SERVICE_ID}${graph}" + + case "$graph" in + .current) + echo "graph_title Hourly rate for ${SERVICE_USERNAME}" + echo 'graph_category network' + # ${graph_period} is not a shell variable + # shellcheck disable=SC2016 + echo 'graph_vlabel bytes per ${graph_period}' + # XXX: this seems to be updated twice per hour; + # the data from this graph may be nonsense + echo 'graph_period hour' + + echo "hourly_rate.label Hourly usage" + echo "hourly_rate.type DERIVE" + echo "hourly_rate.min 0" + + ;; + .daily) + echo "graph_title Previous-day usage for ${SERVICE_USERNAME}" + echo 'graph_category network' + # ${graph_period} is not a shell variable + # shellcheck disable=SC2016 + echo 'graph_vlabel bytes per ${graph_period}' + echo 'graph_period day' + + echo "daily_rate.label Previous-day usage" + echo "daily_rate.type GAUGE" + + ;; + *) + #.usage) + echo "graph_title Uplink usage for ${SERVICE_USERNAME}" + echo 'graph_category network' + echo 'graph_vlabel bytes' + echo 'graph_period hour' + + echo "usage.label Total usage" + echo "usage.draw AREA" + echo "usage.extinfo ${SERVICE_PLAN}; rollover: ${SERVICE_ROLLOVER}" + echo "ideal.label Ideal usage" + echo "ideal.draw LINE" + echo "ideal.colour FFA500" + + echo "usage.critical ${USAGE_CRITICAL}" + echo "usage.warning ${IDEAL_USAGE}" + echo "ideal.critical 0:" + echo "ideal.warning 0:" + ;; + esac + echo +} + +graph_data() { + graph="" + if [ -n "${1:-}" ]; then + graph=".${1}" + fi + + echo "multigraph internode_usage_${SERVICE_ID}${graph}" + case "${graph}" in + .current) + echo "hourly_rate.value ${TODAY_TIMESTAMP}:${SERVICE_USAGE:-U}" + ;; + .daily) + echo "daily_rate.value ${DAILY_TIMESTAMP}:${DAILY_USAGE:-U}" + ;; + *) + echo "usage.value ${TODAY_TIMESTAMP}:${SERVICE_USAGE:-U}" + echo "ideal.value ${TODAY_TIMESTAMP}:${IDEAL_USAGE:-U}" + ;; + esac + echo +} + +main() { + case ${1:-} in + config) + graph_config + graph_config usage + graph_config current + graph_config daily + if [ "${MUNIN_CAP_DIRTYCONFIG:-0}" = "1" ]; then + main + fi + ;; + *) + graph_data + graph_data usage + graph_data current + graph_data daily + ;; + esac +} + +# Determine the service ID from the name of the symlink +SERVICE_ID="$(echo "${0}" | sed -n 's/^.*internode_usage_//p')" +if [ -z "${SERVICE_ID}" ]; then + API_XML="$(fetch "${internode_api_url}")" + # Otherwise, get the first service in the list + SERVICE_ID="$(echo "${API_XML}" | xpath_extract "internode/api/services/service")" +fi + +get_data + +main ${1:-}