munin-contrib/plugins/mumble/mumble_users

44 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python
#
# Munin Plugin for Murmur/ICE
# written by T. Fernandez
# fixes by Andrew Williams
# 07/10/2010
#
##########################################################
slicefile = "/usr/share/slice/Murmur.ice"
prxstr = "Meta:tcp -h 127.0.0.1 -p 6502"
import os
import sys
import Ice
if not os.path.exists(slicefile):
print slicefile+" not found!"
quit(1)
Ice.loadSlice('', ['-I' + Ice.getSliceDir(), slicefile])
import Murmur
ice = Ice.initialize()
prx = ice.stringToProxy(prxstr)
murmur = Murmur.MetaPrx.checkedCast(prx)
if (sys.argv.__len__() == 2) and (sys.argv[1] == "config"):
print "graph_title Mumble users"
print "graph_category voip"
print "graph_vlabel users"
print "graph_args --lower-limit 0"
for server in murmur.getAllServers():
id = str(server.id())
print "murmur"+id+".label Server "+id
else:
for server in murmur.getAllServers():
id = str(server.id())
if server.isRunning():
users = server.getUsers()
else:
users = []
print "murmur"+id+".value "+str(users.__len__())
quit(0)