EOT;
if ($CONFIG['graph_type'] == 'canvas') {
echo <<
EOT;
}
echo <<
EOT;
}
function html_end() {
global $CONFIG;
$git = '/usr/bin/git';
$changelog = $CONFIG['webdir'].'/doc/CHANGELOG';
$version = 'v?';
if (file_exists($git) && is_dir($CONFIG['webdir'].'/.git')) {
chdir($CONFIG['webdir']);
$version = exec($git.' describe --tags');
} elseif (file_exists($changelog)) {
$changelog = file($changelog);
$version = explode(' ', $changelog[0]);
$version = 'v'.$version[0];
}
echo <<
EOT;
if ($CONFIG['graph_type'] == 'canvas') {
echo <<
EOT;
}
echo <<
EOT;
}
function plugin_header($host, $plugin) {
global $CONFIG;
return printf("\n", $CONFIG['weburl'], $host, $plugin, $plugin);
}
function plugins_list($host, $selected_plugins = array()) {
global $CONFIG;
$plugins = collectd_plugins($host);
echo '';
echo '
Plugins ';
echo '
';
printf("overview \n",
selected_overview($selected_plugins),
$CONFIG['weburl'],
$host
);
# first the ones defined as ordered
foreach($CONFIG['overview'] as $plugin) {
if (in_array($plugin, $plugins)) {
printf("%4\$s \n",
selected_plugin($plugin, $selected_plugins),
$CONFIG['weburl'],
$host,
$plugin
);
}
}
# other plugins
foreach($plugins as $plugin) {
if (!in_array($plugin, $CONFIG['overview'])) {
printf("%4\$s \n",
selected_plugin($plugin, $selected_plugins),
$CONFIG['weburl'],
$host,
$plugin
);
}
}
echo ' ';
echo '
';
}
function selected_overview($selected_plugins) {
if (count($selected_plugins) > 1) {
return 'class="selected"';
}
return '';
}
function selected_plugin($plugin, $selected_plugins) {
if (in_array($plugin, $selected_plugins)) {
return 'class="selected"';
}
return '';
}
function selected_timerange($value1, $value2) {
if ($value1 == $value2) {
return 'class="selected"';
}
return '';
}
function host_summary($cat, $hosts) {
global $CONFIG;
$rrd = new RRDTool($CONFIG['rrdtool']);
printf('', $cat);
printf('%s ', $cat);
echo "\n";
$row_style = array(0 => "even", 1 => "odd");
$host_counter = 0;
foreach($hosts as $host) {
$host_counter++;
$cores = count(group_plugindata(collectd_plugindata($host, 'cpu')));
printf('', $row_style[$host_counter % 2]);
printf('%s ',
$CONFIG['weburl'],$host, $host);
if ($CONFIG['showload']) {
collectd_flush(sprintf('%s/load/load', $host));
$rrd_info = $rrd->rrd_info($CONFIG['datadir'].'/'.$host.'/load/load.rrd');
# ignore if file does not exist
if (!$rrd_info)
continue;
if (isset($rrd_info['ds[shortterm].last_ds']) &&
isset($rrd_info['ds[midterm].last_ds']) &&
isset($rrd_info['ds[longterm].last_ds'])) {
foreach (array('ds[shortterm].last_ds', 'ds[midterm].last_ds', 'ds[longterm].last_ds') as $info) {
$class = '';
if ($cores > 0 && $rrd_info[$info] > $cores * 2)
$class = ' class="crit"';
elseif ($cores > 0 && $rrd_info[$info] > $cores)
$class = ' class="warn"';
printf('%.2f ', $class, $rrd_info[$info]);
}
}
}
print " \n";
}
echo "
\n";
echo " \n";
}
function breadcrumbs() {
$path = '';
if (validate_get(GET('h'), 'host'))
$path .= ' - '.ucfirst(GET('h'));
if (validate_get(GET('p'), 'plugin'))
$path .= ' - '.ucfirst(GET('p'));
if (validate_get(GET('pi'), 'pinstance'))
$path .= ' - '.GET('pi');
if (validate_get(GET('t'), 'type') && validate_get(GET('p'), 'plugin') && GET('t') != GET('p'))
$path .= ' - '.GET('t');
if (validate_get(GET('ti'), 'tinstance'))
$path .= ' - '.GET('ti');
return $path;
}
?>