Project

General

Profile

Actions

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.

Status:
Duplicate
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% 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 1 (0 open1 closed)

Related to Ceph - Feature #1269: collectd: monitor cluster statsResolvedColin McCabe07/05/2011

Actions
Actions #1

Updated by Sage Weil over 12 years ago

  • Target version set to v0.35
  • Translation missing: en.field_position set to 1
Actions #2

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.

Actions #3

Updated by Sage Weil over 12 years ago

  • Target version deleted (12)
Actions #4

Updated by Sage Weil over 12 years ago

  • Translation missing: en.field_position deleted (43)
  • Translation missing: en.field_position set to 180
Actions #5

Updated by Sage Weil about 12 years ago

  • Translation missing: en.field_position deleted (424)
  • Translation missing: en.field_position set to 366
Actions #6

Updated by Sage Weil about 12 years ago

  • Translation missing: en.field_position deleted (374)
  • Translation missing: en.field_position set to 273
Actions #7

Updated by Sage Weil about 12 years ago

  • Translation missing: en.field_position deleted (273)
  • Translation missing: en.field_position set to 22
Actions #8

Updated by Wido den Hollander almost 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.

Actions #9

Updated by Sage Weil over 11 years ago

  • Translation missing: en.field_position deleted (259)
  • Translation missing: en.field_position set to 12
Actions #10

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).

Actions #11

Updated by Dan Mick about 11 years ago

  • Assignee set to Dan Mick
Actions #12

Updated by Sage Weil almost 11 years ago

  • Status changed from 12 to Duplicate
Actions

Also available in: Atom PDF