2015-11-10 11:06:03 +01:00
|
|
|
<?php
|
|
|
|
|
2016-07-07 01:33:43 -05:00
|
|
|
$name = 'ceph';
|
|
|
|
if (!empty($agent_data['app'][$name])) {
|
|
|
|
$app_id = $app['app_id'];
|
2015-11-10 11:06:03 +01:00
|
|
|
|
2016-08-12 14:33:17 -05:00
|
|
|
foreach (explode('<', $agent_data['app'][$name]) as $section) {
|
2015-11-10 11:06:03 +01:00
|
|
|
if (empty($section))
|
|
|
|
continue;
|
|
|
|
list($section, $data) = explode('>', $section);
|
2016-07-07 01:33:43 -05:00
|
|
|
|
2015-11-10 11:06:03 +01:00
|
|
|
if ($section == "poolstats") {
|
2016-08-12 13:31:11 -05:00
|
|
|
$rrd_def = array(
|
|
|
|
'DS:ops:GAUGE:600:0:U',
|
|
|
|
'DS:wrbytes:GAUGE:600:0:U',
|
|
|
|
'DS:rbytes:GAUGE:600:0:U'
|
|
|
|
);
|
|
|
|
|
2015-11-10 11:06:03 +01:00
|
|
|
foreach (explode("\n", $data) as $line) {
|
|
|
|
if (empty($line))
|
|
|
|
continue;
|
|
|
|
list($pool,$ops,$wrbytes,$rbytes) = explode(':', $line);
|
2016-08-12 13:50:49 -05:00
|
|
|
$rrd_name = array('app', $name, $app_id, 'pool', $pool);
|
2015-11-10 11:06:03 +01:00
|
|
|
|
|
|
|
print "Ceph Pool: $pool, IOPS: $ops, Wr bytes: $wrbytes, R bytes: $rbytes\n";
|
2016-07-07 01:33:43 -05:00
|
|
|
$fields = array(
|
|
|
|
'ops' => $ops,
|
|
|
|
'wrbytes' => $wrbytes,
|
|
|
|
'rbytes' => $rbytes
|
|
|
|
);
|
2016-08-12 13:31:11 -05:00
|
|
|
$tags = compact('name', 'app_id', 'pool', 'rrd_name', 'rrd_def');
|
2016-07-07 01:33:43 -05:00
|
|
|
data_update($device, 'app', $tags, $fields);
|
2015-11-10 11:06:03 +01:00
|
|
|
}
|
2015-11-10 11:44:14 +01:00
|
|
|
}
|
|
|
|
elseif ($section == "osdperformance") {
|
2016-08-12 13:31:11 -05:00
|
|
|
$rrd_def = array(
|
|
|
|
'DS:apply_ms:GAUGE:600:0:U',
|
|
|
|
'DS:commit_ms:GAUGE:600:0:U'
|
|
|
|
);
|
|
|
|
|
2015-11-10 11:06:03 +01:00
|
|
|
foreach (explode("\n", $data) as $line) {
|
|
|
|
if (empty($line))
|
|
|
|
continue;
|
|
|
|
list($osd,$apply,$commit) = explode(':', $line);
|
2016-08-12 13:50:49 -05:00
|
|
|
$rrd_name = array('app', $name, $app_id, 'osd', $osd);
|
2015-11-10 11:06:03 +01:00
|
|
|
|
|
|
|
print "Ceph OSD: $osd, Apply: $apply, Commit: $commit\n";
|
2016-07-07 01:33:43 -05:00
|
|
|
$fields = array(
|
|
|
|
'apply_ms' => $apply,
|
|
|
|
'commit_ms' => $commit
|
|
|
|
);
|
2016-08-12 13:31:11 -05:00
|
|
|
$tags = compact('name', 'app_id', 'osd', 'rrd_name', 'rrd_def');
|
2016-07-07 01:33:43 -05:00
|
|
|
data_update($device, 'app', $tags, $fields);
|
2015-11-10 11:06:03 +01:00
|
|
|
}
|
2015-11-10 11:44:14 +01:00
|
|
|
}
|
|
|
|
elseif ($section == "df") {
|
2016-08-12 13:31:11 -05:00
|
|
|
$rrd_def = array(
|
|
|
|
'DS:avail:GAUGE:600:0:U',
|
|
|
|
'DS:used:GAUGE:600:0:U',
|
|
|
|
'DS:objects:GAUGE:600:0:U'
|
|
|
|
);
|
|
|
|
|
2015-11-10 11:06:03 +01:00
|
|
|
foreach (explode("\n", $data) as $line) {
|
|
|
|
if (empty($line))
|
|
|
|
continue;
|
2016-07-07 01:33:43 -05:00
|
|
|
list($df,$avail,$used,$objects) = explode(':', $line);
|
2016-08-12 13:50:49 -05:00
|
|
|
$rrd_name = array('app', $name, $app_id, 'df', $df);
|
2015-11-10 11:06:03 +01:00
|
|
|
|
|
|
|
print "Ceph Pool DF: $pool, Avail: $avail, Used: $used, Objects: $objects\n";
|
2016-07-07 01:33:43 -05:00
|
|
|
$fields = array(
|
|
|
|
'avail' => $avail,
|
|
|
|
'used' => $used,
|
|
|
|
'objects' => $objects
|
|
|
|
);
|
|
|
|
|
2016-08-12 13:31:11 -05:00
|
|
|
$tags = compact('name', 'app_id', 'df', 'rrd_name', 'rrd_def');
|
2016-07-07 01:33:43 -05:00
|
|
|
data_update($device, 'app', $tags, $fields);
|
2015-11-10 11:06:03 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|