--- /dev/null
+#!/usr/bin/python2
+import memcache
+import argparse
+import json
+import sys
+import os
+import codecs
+
+def argsv_config():
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-getstats', action='store_true',default=False,dest='getstats', help='Get statistics from memcached server.')
+ parser.add_argument('-lld', action='store_true',default=False,dest='lld', help='Get statistics from memcached server.')
+ parser.add_argument('-memcacheserver', action='store',default="127.0.0.1:11211",dest='memcacheserver', help='memcacheservernavn:portnr, default is 127.0.0.1:11211.')
+ argvs = parser.parse_args()
+ return argvs
+
+if __name__ == '__main__':
+ argvs = argsv_config()
+ metrics = []
+
+ # ###############################
+ # Connecting to memcache server
+ # ###############################
+ try:
+ mc = memcache.Client([argvs.memcacheserver],debug=1)
+ except Exception as e:
+ print "Error with connecting memcache server: {0}".format(str(e))
+ sys.exit(1)
+
+
+ # ###############################
+ # Sending metrics to Zabbix
+ # ###############################
+
+ if argvs.getstats == True:
+ stats = mc.get_stats()
+ jsondata = stats[0][1]
+
+ print(json.dumps(jsondata))
+
+ # ###############################
+ # low-level discovery for Zabbix
+ # ###############################
+
+ elif argvs.lld == True:
+ stats = mc.get_stats()
+ jsondata = stats[0][1]
+ for key in jsondata.keys():
+ if not(key == "version" or key == "libevent"):
+ tmpdict = {"{#MEMCACHE}": "memcache","{#METRIC}":key}
+ metrics.append(tmpdict)
+ llddata = {"data":metrics}
+ print(json.dumps(llddata))
+