mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
56 lines
1.4 KiB
Bash
Executable File
56 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#########################
|
|
# tinychat_users_
|
|
#########################
|
|
# Munin Plugin to track monitor the number of users a tinychat room gets.
|
|
# Author Phil Wray ( http://www.infjs.com )
|
|
#
|
|
#
|
|
#
|
|
# Usage:
|
|
# ln -s /usr/share/munin/plugins/tinychat_users_ /etc/munin/plugins/tinychat_users_your-room
|
|
#
|
|
|
|
# Get the Tinychat Room by parsing this scripts filename.
|
|
room=${0##*tinychat_users_}
|
|
|
|
##
|
|
# autoconf
|
|
##
|
|
if [ "$1" = "autoconf" ]; then
|
|
# Check that curl is installed
|
|
if hash curl >/dev/null 2>&1; then
|
|
echo "yes"
|
|
else
|
|
echo "no (no curl installed)"
|
|
fi
|
|
exit 0
|
|
fi
|
|
|
|
##
|
|
# config
|
|
##
|
|
if [ "$1" = "config" ]; then
|
|
echo "graph_title Tinychat Users for $room"
|
|
echo 'graph_vlabel Room Users'
|
|
echo 'graph_args --base 1000'
|
|
echo 'graph_scale no'
|
|
echo 'graph_vlabel Room Users'
|
|
echo 'graph_category Chat'
|
|
echo 'total_count.label Room Users'
|
|
echo 'total_count.draw AREA'
|
|
echo 'broadcaster_count.draw STACK'
|
|
echo 'broadcaster_count.label Broadcasting'
|
|
exit 0
|
|
fi
|
|
|
|
##
|
|
# Main
|
|
##
|
|
# Get current Room Users.
|
|
tinychat_users=$(curl -s http://api.tinychat.com/${room}.json | grep -Eo 'total_count":[0-9]+' | cut -d':' -f2)
|
|
broadcasting_users=$(curl -s http://api.tinychat.com/${room}.json | grep -Eo 'broadcaster_count":[0-9]+' | cut -d':' -f2)
|
|
# Output Room Users.
|
|
echo "total_count.value $tinychat_users"
|
|
echo "broadcaster_count.value $broadcasting_users"
|