pcp
[Top] [All Lists]

possible collectd interoperation options

To: pcp developers <pcp@xxxxxxxxxxx>
Subject: possible collectd interoperation options
From: "Frank Ch. Eigler" <fche@xxxxxxxxxx>
Date: Wed, 18 Mar 2015 14:25:07 -0400
Delivered-to: pcp@xxxxxxxxxxx
User-agent: Mutt/1.4.2.2i
Hi -

A potential pcp user recently asked whether pcp can match the data
gathering capabilities of collectd [1], listing a smorgasbord of
their-equivalent-of-pmda's.  The simple answer is "no", but maybe we
can get to "not yet" and maybe even "soon", while not reinventing the
wheel.

A brief review: collectd is kind of like pmlogger+pmcd in one, where
their pmdas as well as logging-output backends [2] are packaged in
shared libraries that use a fixedish abi/api [3].  The main loop of
collectd periodically polls the configured data sources and relays to
data sinks.

So, how do we play in the same sandbox?  A few options:

- write a pcp data source plugin for collectd

  This would leave collectd as the driver, but we would get to
  provide our wealth of data to supplement theirs, kind of like
  pcp2graphite.


- write a pcp data sink plugin for collectd
  
  This would leave collectd as the driver, but we could get an
  incrementally written pcp log-archive as output.


- write a collectd plugin-host/impersonator pmda for pcp

  This would consist of a new pmda that implements the collectd plugin
  abi (server side), loads unmodified collectd plugin .so's, invokes
  their 'read' callbacks on demand and saves their output for relaying
  into pmcd/pcp.

  This would let pcp "drive", exploit the library of collectd plugins,
  and ease some of the adverse performance implications of collectd's
  design (by for example refreshing only those agents & metrics that
  were solicited).


Are any of these (or other possibilities) of interest to the group?


[1] https://collectd.org/
[2] https://collectd.org/wiki/index.php/Table_of_Plugins
[3] https://collectd.org/wiki/index.php/Plugin_architecture

<Prev in Thread] Current Thread [Next in Thread>