Feature #685
closedlibcephmon: interact with ceph monitors via a library
0%
Description
Hi,
Right now librados nor libceph give you a full internal look of how the Ceph system is behaving.
Some information which might be useful:- Degradation level of the filesystem
- Number of up, down, in and out OSD's
- Same goes for the monitors and MDS'es
- Number of pg's (clean, active, peering, etc.)
- Filesystem statistics (but they are available via libceph: ceph_statfs() I think right now?)
If this information is added to libceph I could start writing plug-ins for tools like Nagios, Zabbix, Collectd and a SNMP MIB. Or a phpceph extension so we could have a nice web interface to show off your Ceph system.
Right now the only way to get this information is by parsing the output of 'ceph -s' which is not reliable for future use imho.
The focus might be somewhere else at the moment, but this would be very useful IMHO.
Updated by Sage Weil over 12 years ago
- Target version set to v0.35
- Translation missing: en.field_position set to 1
Updated by Sage Weil over 12 years ago
- Subject changed from libceph: Expose internal state for monitoring purposes to libcephmon: interact with ceph monitors via a library
- Target version changed from v0.35 to 12
The monitors now dump most of the cluster state in json, so this gives us more reliable visibility. You still need to interact via the ceph command line tool, however.
We could create a simple library that exposes the same monitor command interface that ceph does, or roll it into librados/libceph.
Updated by Sage Weil over 12 years ago
- Translation missing: en.field_position deleted (
43) - Translation missing: en.field_position set to 180
Updated by Sage Weil about 12 years ago
- Translation missing: en.field_position deleted (
424) - Translation missing: en.field_position set to 366
Updated by Sage Weil about 12 years ago
- Translation missing: en.field_position deleted (
374) - Translation missing: en.field_position set to 273
Updated by Sage Weil about 12 years ago
- Translation missing: en.field_position deleted (
273) - Translation missing: en.field_position set to 22
Updated by Wido den Hollander about 12 years ago
Has there been any progress on this?
My idea is still to make some sort of nice WebGUI where you can see the state of your Ceph cluster and do some basic management.
If we would have such a library we could write PHP wrappers for librbd and libcephmon as well, in conjunction with phprados you'd be able to perform most tasks through a web interface.
libcephmon however is mandatory (imho) for monitoring your Ceph cluster, with some basic work we could hook it into Zabbix, Nagios and probably ZenOss.
Something like this:
struct ceph_osd_state { uint64_t num_osd; uint64_t num_up; uint64_t num_down; uint64_t num_in; uint64_t num_out; }; int get_osd_state(ceph_osd_state *state);
Most of the stuff I mentioned in the start of the issue.
Updated by Sage Weil over 11 years ago
- Translation missing: en.field_position deleted (
259) - Translation missing: en.field_position set to 12
Updated by Sage Weil over 11 years ago
- Status changed from New to 12
- Priority changed from Low to Normal
BTW it may make sense to push the client command stuff in the ceph tool into MonClient, and then wrap that in libcephmon (or whatever it gets called).