Feature #685
closed
libcephmon: interact with ceph monitors via a library
Added by Wido den Hollander over 13 years ago.
Updated almost 11 years ago.
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.
- Target version set to v0.35
- Translation missing: en.field_position set to 1
- 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.
- Target version deleted (
12)
- Translation missing: en.field_position deleted (
43)
- Translation missing: en.field_position set to 180
- Translation missing: en.field_position deleted (
424)
- Translation missing: en.field_position set to 366
- Translation missing: en.field_position deleted (
374)
- Translation missing: en.field_position set to 273
- Translation missing: en.field_position deleted (
273)
- Translation missing: en.field_position set to 22
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.
- Translation missing: en.field_position deleted (
259)
- Translation missing: en.field_position set to 12
- 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).
- Status changed from 12 to Duplicate
Also available in: Atom
PDF