=head2 Plugin C<ceph>
-The ceph plugin collects values from JSON data to be parsed by B<libjson-c>
-(L<https://github.com/json-c/json-c>) retrieved from a ceph daemon admin socket.
+The ceph plugin collects values from JSON data to be parsed by B<libyajl>
+(L<https://lloyd.github.io/yajl/>) retrieved from ceph daemon admin sockets.
A separate B<Daemon> block must be configured for each ceph daemon to be
-monitored. The following example will read daemon statistics from three
-separate ceph daemons running on the same device (one OSD, one MON, one MDS) :
+monitored. The following example will read daemon statistics from four
+separate ceph daemons running on the same device (two OSDs, one MON, one MDS) :
<Plugin ceph>
+ LongRunAvgLatency false
+ ConvertSpecialMetricTypes true
<Daemon "osd.0">
SocketPath "/var/run/ceph/ceph-osd.0.asok"
</Daemon>
+ <Daemon "osd.1">
+ SocketPath "/var/run/ceph/ceph-osd.1.asok"
+ </Daemon>
<Daemon "mon.a">
SocketPath "/var/run/ceph/ceph-mon.ceph1.asok"
</Daemon>
</Daemon>
</Plugin>
-Each B<Daemon> block must have a string argument for the plugin instance name.
-A B<SocketPath> is also required for each B<Daemon> block.
+The ceph plugin accepts the following configuration options:
-=over 4
+= over 4
+
+= item B<LongRunAvgLatency> B<true>|B<false>
+
+If enabled, latency values(sum,count pairs) are calculated as the long run
+average - average since the ceph daemon was started = (sum / count).
+When disabled, latency values are calculated as the average since the last
+collection = (sum_now - sum_last) / (count_now - count_last).
+
+Default: Disabled
+
+=item B<ConvertSpecialMetricTypes> B<true>|B<false>
+
+If enabled, special metrics (metrics that differ in type from similar counters)
+are converted to the type of those similar counters. This currently only
+applies to filestore.journal_wr_bytes which is a counter for OSD daemons. The
+ceph schema reports this metric type as a sum,count pair while similar counters
+are treated as derive types. When converted, the sum is used as the counter
+value and is treated as a derive type.
+When disabled, all metrics are treated as the types received from the ceph schema.
+
+Default: Enabled
+
+Each B<Daemon> block must have a string argument for the plugin instance name.
+A B<SocketPath> is also required for each B<Daemon> block:
=item B<Daemon> I<Name>
Name to be used as the instance name for this daemon.
+=over 4
+
=item B<SocketPath> I<SocketPath>
Specifies the path to the UNIX admin socket of the ceph daemon.
=back
+=back
+
=head2 Plugin C<cgroups>
This plugin collects the CPU user/system time for each I<cgroup> by reading the