summaryrefslogtreecommitdiffstats
path: root/tools/munin_monitors/mongo_docs
blob: d03d819b911489cff9032b156d8f91c4c42f400b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env python

## GENERATED FILE - DO NOT EDIT

import urllib2
import sys
import os
import pymongo

def getServerStatus():
    host = "127.0.0.1"
    port = 27017
    c = pymongo.MongoClient(host, port)
    return c.admin.command('serverStatus', workingSet=True)

name = "documents"


def doData():
    ss = getServerStatus()
    for k,v in ss["metrics"]["document"].iteritems():
        print( str(k) + ".value " + str(v) )

def doConfig():

    print "graph_title MongoDB documents"
    print "graph_args --base 1000 -l 0"
    print "graph_vlabel documents"
    print "graph_category MongoDB"

    for k in getServerStatus()["metrics"]["document"]:
        print k + ".label " + k
        print k + ".min 0"
        print k + ".type COUNTER"
        print k + ".max 500000"
        print k + ".draw LINE1"

if __name__ == "__main__":

    from os import environ
    if 'HOST' in environ:
        host = environ['HOST']
    if 'PORT' in environ:
        port = environ['PORT']
    if 'USER' in environ:
        user = environ['USER']
    if 'PASSWORD' in environ:
        password = environ['PASSWORD']

if len(sys.argv) > 1 and sys.argv[1] == "config":
    doConfig()
else:
    doData()