2
0
mirror of https://github.com/munin-monitoring/contrib.git synced 2018-11-08 00:59:34 +01:00
contrib-munin/plugins/riak/riak_node
dipohl 63351ab535 Reduce number of categories
riak -> other (riak)
smf -> forum (smf)
reddit -> other (reddit)
sge -> htc (sge)
netscaler -> loadbalancer (netscaler)
nutcracker -> other (twemproxy)
requesttracker -> other (requesttracker)
passenger -> webserver (passenger)
gearman -> other (gearman)
2017-02-23 23:12:19 +01:00

59 lines
1.2 KiB
Python
Executable File

#!/usr/bin/python
# This is monitoring plugin for riak Developer's website: http://wiki.basho.com/Riak.html
# sample config in /etc/munin/plugin-conf.d/riak
#
# [riak_*]
# env.RIAK_URL http://127.0.0.1:8091/stats
# any questions to fygrave at o0o dot nu
#
# This plugin monitors put/get rate at each node.
#
import urllib2
import sys
import os
try:
import json
except ImportError:
import simplejson as json
names = ["node_gets_total", "node_puts_total"]
def getServerStatus():
raw = urllib2.urlopen( os.environ.get('RIAK_URL', "http://127.0.0.1:8097/stats") ).read()
return json.loads( raw )
def doData():
for name in names:
print name + ".value " + str( getServerStatus()[name] )
def doConfig():
print "graph_title Riak puts and gets"
print "graph_args --base 1000 -l 0"
print "graph_vlabel puts/gets"
print "graph_category other"
for name in names:
print name + ".label " + name
print name + ".min 0"
print name + ".type COUNTER"
print name + ".max 500000"
print name + "draw LINE1"
if __name__ == "__main__":
if len(sys.argv) > 1 and sys.argv[1] == "config":
doConfig()
else:
doData()