def metricCollector():
data = {}
#defaults
data['plugin_version'] = PLUGIN_VERSION
data['heartbeat_required']=HEARTBEAT
data['units']=METRICS_UNITS
URL = "http://"+COUCHBASE_SERVER_HOST+":"+COUCHBASE_SERVER_PORT+"/"+COUCHBASE_SERVER_STATS_URI
try:
if COUCHBASE_SERVER_USERNAME and COUCHBASE_SERVER_PASSWORD:
password_mgr = connector.HTTPPasswordMgrWithDefaultRealm()
password_mgr.add_password(REALM, URL, COUCHBASE_SERVER_USERNAME, COUCHBASE_SERVER_PASSWORD)
auth_handler = connector.HTTPBasicAuthHandler(password_mgr)
opener = connector.build_opener(auth_handler)
connector.install_opener(opener)
response = connector.urlopen(URL, timeout=10)
byte_responseData = response.read()
str_responseData = byte_responseData.decode('UTF-8')
couchserver_dict = json.loads(str_responseData)
data['hdd.total']=couchserver_dict['storageTotals']['hdd']['total']
data['hdd.quotaTotal']=couchserver_dict['storageTotals']['hdd']['quotaTotal']
data['hdd.usedByData']=couchserver_dict['storageTotals']['hdd']['usedByData']
data['hdd.used']=couchserver_dict['storageTotals']['hdd']['used']
data['ram.used']=couchserver_dict['storageTotals']['ram']['used']
data['ram.quotaUsed']=couchserver_dict['storageTotals']['ram']['quotaUsed']
data['ram.quotaUsedPerNode']=couchserver_dict['storageTotals']['ram']['quotaUsedPerNode']
data['ram.quotaTotalPerNode']=couchserver_dict['storageTotals']['ram']['quotaTotalPerNode']
data['ram.total']=couchserver_dict['storageTotals']['ram']['total']
for item in data:
if '.' in item:
data[item]=convertBytesToMB(data[item])
except Exception as e:
data['status']=0
data['msg']=str(e)
return data
评论列表
文章目录