diff --git a/plugins/mongodb/index.py b/plugins/mongodb/index.py index 1300bd55c..225026eb9 100755 --- a/plugins/mongodb/index.py +++ b/plugins/mongodb/index.py @@ -18,7 +18,6 @@ if mw.isAppleSystem(): # /usr/lib/systemd/system/mongod.service -# /var/lib/mongo # python3 /www/server/mdserver-web/plugins/mongodb/index.py repl_init # python3 /www/server/mdserver-web/plugins/mongodb/index.py run_repl_info @@ -494,6 +493,11 @@ def runReplInfo(): except Exception as e: return mw.returnJson(False, str(e)) + try: + replStatus = db.command('replSetGetStatus') + except Exception as e: + return mw.returnJson(False, str(e)) + d = getConfigData() result = {} if 'replication' in d and 'replSetName' in d['replication']: @@ -518,6 +522,16 @@ def runReplInfo(): hosts = mw.getDefault(repl,'hosts', '') result['hosts'] = ','.join(hosts) + members_list = [] + if 'members' in replStatus: + members = replStatus['members'] + for m in members: + t = {} + t['name'] = m['name'] + t['stateStr'] = m['stateStr'] + t['uptime'] = m['uptime'] + members_list.append(t) + result['members'] = members_list return mw.returnJson(True, 'OK', result) @@ -1011,10 +1025,6 @@ def replSetNode(): add_node = args['node'].strip() idx = int(args['idx']) - - - - priority = -1 if 'priority' in args: priority = args['priority'].strip() diff --git a/plugins/mongodb/js/mongodb.js b/plugins/mongodb/js/mongodb.js index ef370d5af..afacf0afb 100644 --- a/plugins/mongodb/js/mongodb.js +++ b/plugins/mongodb/js/mongodb.js @@ -159,6 +159,12 @@ function mongoReplStatus() { me' + rdata.me + '本机'; } + var tbody_members = ''; + var member_list = rdata['members']; + for (var i = 0; i < member_list.length; i++) { + tbody_members += ''+member_list['name']+'' + member_list[i]['stateStr'] + ''+member_list[i]['uptime']+''; + } + // console.log(rdata); var repl_on = 'btn-danger'; var repl_on_title = '未开启'; @@ -176,9 +182,14 @@ function mongoReplStatus() { con += '
\ \ \ - \ - '+tbody+'\ - \ + '+tbody+'\ +
字段当前值说明
\ +
'; + + con += '
\ + \ + \ + '+tbody_members+'\
IP状态在线
\
';