Project

General

Profile

Feature #685

libcephmon: interact with ceph monitors via a library

Added by Wido den Hollander over 8 years ago. Updated over 6 years ago.

Status:
Duplicate
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
01/06/2011
Due date:
% Done:

0%

Spent time:
Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

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

Related to Ceph - Feature #1269: collectd: monitor cluster stats Resolved 07/05/2011

History

#1 Updated by Sage Weil about 8 years ago

  • Target version set to v0.35
  • translation missing: en.field_position set to 1

#2 Updated by Sage Weil about 8 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 about 8 years ago

  • Target version deleted (12)

#4 Updated by Sage Weil about 8 years ago

  • translation missing: en.field_position deleted (43)
  • translation missing: en.field_position set to 180

#5 Updated by Sage Weil over 7 years ago

  • translation missing: en.field_position deleted (424)
  • translation missing: en.field_position set to 366

#6 Updated by Sage Weil over 7 years ago

  • translation missing: en.field_position deleted (374)
  • translation missing: en.field_position set to 273

#7 Updated by Sage Weil over 7 years ago

  • translation missing: en.field_position deleted (273)
  • translation missing: en.field_position set to 22

#8 Updated by Wido den Hollander over 7 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.

#9 Updated by Sage Weil over 6 years ago

  • translation missing: en.field_position deleted (259)
  • translation missing: en.field_position set to 12

#10 Updated by Sage Weil over 6 years ago

  • Status changed from New to Verified
  • 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).

#11 Updated by Dan Mick over 6 years ago

  • Assignee set to Dan Mick

#12 Updated by Sage Weil over 6 years ago

  • Status changed from Verified to Duplicate

Also available in: Atom PDF