Feature #685
libcephmon: interact with ceph monitors via a library
| Status: | Verified | Start date: | 01/06/2011 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | Dan Mick | % Done: | 0% | |
| Category: | - | Spent time: | 1.00 hour | |
| Target version: | - | |||
| Source: | Reviewed: | |||
| Tags: | User Impact: | |||
| Story points | - | |||
| Velocity based estimate | - |
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.
Related issues
History
#1 Updated by Sage Weil almost 2 years ago
- Target version set to v0.35
- Position set to 1
#2 Updated by Sage Weil almost 2 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.
#3 Updated by Sage Weil over 1 year ago
- Target version deleted (
12)
#4 Updated by Sage Weil over 1 year ago
- Position deleted (
43) - Position set to 180
#5 Updated by Sage Weil about 1 year ago
- Position deleted (
424) - Position set to 366
#6 Updated by Sage Weil about 1 year ago
- Position deleted (
374) - Position set to 273
#7 Updated by Sage Weil about 1 year ago
- Position deleted (
273) - Position set to 22
#8 Updated by Wido den Hollander about 1 year 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.