]>
git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/controllers/monitor.py
d4512fcfe357fc7e1f1865a5fce8efc310e2b1a9
1 # -*- coding: utf-8 -*-
2 from __future__
import absolute_import
6 from . import ApiController
, Endpoint
, BaseController
, ReadPermission
8 from ..security
import Scope
11 @ApiController('/monitor', Scope
.MONITOR
)
12 class Monitor(BaseController
):
16 in_quorum
, out_quorum
= [], []
18 counters
= ['mon.num_sessions']
20 mon_status_json
= mgr
.get("mon_status")
21 mon_status
= json
.loads(mon_status_json
['json'])
23 for mon
in mon_status
["monmap"]["mons"]:
25 for counter
in counters
:
26 data
= mgr
.get_counter("mon", mon
["name"], counter
)
28 mon
["stats"][counter
.split(".")[1]] = data
[counter
]
30 mon
["stats"][counter
.split(".")[1]] = []
31 if mon
["rank"] in mon_status
["quorum"]:
34 out_quorum
.append(mon
)
37 'mon_status': mon_status
,
38 'in_quorum': in_quorum
,
39 'out_quorum': out_quorum