#!/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 command -v 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"