mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
show toner on device overview (beta), minor fixes
git-svn-id: http://www.observium.org/svn/observer/trunk@3014 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
@ -1,5 +1,20 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
function toner2colour($descr)
|
||||||
|
{
|
||||||
|
$colour = NULL;
|
||||||
|
|
||||||
|
if (substr($descr,-1) == 'C' || stripos($descr,"cyan" ) !== false) { $colour = "55D6D3"; }
|
||||||
|
if (substr($descr,-1) == 'M' || stripos($descr,"magenta") !== false) { $colour = "F24AC8"; }
|
||||||
|
if (substr($descr,-1) == 'Y' || stripos($descr,"yellow" ) !== false
|
||||||
|
|| stripos($descr,"giallo" ) !== false
|
||||||
|
|| stripos($descr,"gul" ) !== false) { $colour = "FFF200"; }
|
||||||
|
if (substr($descr,-1) == 'K' || stripos($descr,"black" ) !== false
|
||||||
|
|| stripos($descr,"nero" ) !== false) { $colour = "000000"; }
|
||||||
|
|
||||||
|
return $colour;
|
||||||
|
}
|
||||||
|
|
||||||
function generate_link($text, $vars, $new_vars = array())
|
function generate_link($text, $vars, $new_vars = array())
|
||||||
{
|
{
|
||||||
return '<a href="'.generate_url($vars, $new_vars).'">'.$text.'</a>';
|
return '<a href="'.generate_url($vars, $new_vars).'">'.$text.'</a>';
|
||||||
|
@ -9,6 +9,10 @@ $rrd_options .= " -l 0 -E ";
|
|||||||
$iter = "1";
|
$iter = "1";
|
||||||
$rrd_options .= " COMMENT:'Toner level Cur Min Max\\n'";
|
$rrd_options .= " COMMENT:'Toner level Cur Min Max\\n'";
|
||||||
foreach (dbFetchRows("SELECT * FROM toner where device_id = ?", array($id)) as $toner)
|
foreach (dbFetchRows("SELECT * FROM toner where device_id = ?", array($id)) as $toner)
|
||||||
|
{
|
||||||
|
$colour = toner2colour($toner['toner_descr']);
|
||||||
|
|
||||||
|
if ($colour == NULL)
|
||||||
{
|
{
|
||||||
# FIXME generic colour function
|
# FIXME generic colour function
|
||||||
switch ($iter)
|
switch ($iter)
|
||||||
@ -37,12 +41,7 @@ foreach (dbFetchRows("SELECT * FROM toner where device_id = ?", array($id)) as $
|
|||||||
unset($iter);
|
unset($iter);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (stripos($toner['toner_descr'],"cyan" ) !== false || substr($toner['toner_descr'],-1) == 'C') { $colour = "55D6D3"; }
|
|
||||||
if (stripos($toner['toner_descr'],"magenta") !== false || substr($toner['toner_descr'],-1) == 'M') { $colour = "F24AC8"; }
|
|
||||||
if (stripos($toner['toner_descr'],"yellow" ) !== false || substr($toner['toner_descr'],-1) == 'Y' || stripos($toner['toner_descr'],"giallo" ) !== false) { $colour = "FFF200"; }
|
|
||||||
if (stripos($toner['toner_descr'],"black" ) !== false || substr($toner['toner_descr'],-1) == 'K' || stripos($toner['toner_descr'],"nero" ) !== false) { $colour = "000000"; }
|
|
||||||
|
|
||||||
|
|
||||||
$hostname = gethostbyid($toner['device_id']);
|
$hostname = gethostbyid($toner['device_id']);
|
||||||
|
|
||||||
|
@ -4,20 +4,12 @@ $scale_max = "100";
|
|||||||
|
|
||||||
include("includes/graphs/common.inc.php");
|
include("includes/graphs/common.inc.php");
|
||||||
|
|
||||||
$iter = "1";
|
|
||||||
|
|
||||||
$rrd_options .= " COMMENT:' Cur Max\\n'";
|
$rrd_options .= " COMMENT:' Cur Max\\n'";
|
||||||
|
|
||||||
if ($iter=="1") { $colour="CC0000"; } elseif ($iter=="2") { $colour="008C00"; } elseif ($iter=="3") { $colour="4096EE"; }
|
$colour = toner2colour($toner['toner_descr']);
|
||||||
elseif ($iter=="4") { $colour="73880A"; } elseif ($iter=="5") { $colour="D01F3C"; } elseif ($iter=="6") { $colour="36393D"; }
|
if ($colour == NULL) { $colour="CC0000"; }
|
||||||
elseif ($iter=="7") { $colour="FF0084"; unset($iter); }
|
|
||||||
|
|
||||||
$descr = substr(str_pad($toner['toner_descr']),0,28);
|
$descr = substr(str_pad($toner['toner_descr'],26),0,26);
|
||||||
|
|
||||||
if (stripos($toner['toner_descr'],"cyan" ) !== false || substr($toner['toner_descr'],-1) == 'C') { $colour = "55D6D3"; }
|
|
||||||
if (stripos($toner['toner_descr'],"magenta") !== false || substr($toner['toner_descr'],-1) == 'M') { $colour = "F24AC8"; }
|
|
||||||
if (stripos($toner['toner_descr'],"yellow" ) !== false || substr($toner['toner_descr'],-1) == 'Y') { $colour = "FFF200"; }
|
|
||||||
if (stripos($toner['toner_descr'],"black" ) !== false || substr($toner['toner_descr'],-1) == 'K') { $colour = "000000"; }
|
|
||||||
|
|
||||||
$background = get_percentage_colours(100-$toner['toner_current']);
|
$background = get_percentage_colours(100-$toner['toner_current']);
|
||||||
|
|
||||||
@ -26,8 +18,7 @@ $rrd_options .= " DEF:toner" . $toner['toner_id'] . "=".$rrd_filename.":toner:AV
|
|||||||
$rrd_options .= " LINE1:toner" . $toner['toner_id'] . "#" . $colour . ":'" . $descr . "' ";
|
$rrd_options .= " LINE1:toner" . $toner['toner_id'] . "#" . $colour . ":'" . $descr . "' ";
|
||||||
|
|
||||||
$rrd_options .= " AREA:toner" . $toner['toner_id' ] . "#" . $background['right'] . ":";
|
$rrd_options .= " AREA:toner" . $toner['toner_id' ] . "#" . $background['right'] . ":";
|
||||||
$rrd_options .= " GPRINT:toner" . $toner['toner_id'] . ":AVERAGE:'%5.0lf%%'";
|
$rrd_options .= " GPRINT:toner" . $toner['toner_id'] . ":LAST:'%5.0lf%%'";
|
||||||
$rrd_options .= " GPRINT:toner" . $toner['toner_id'] . ":MIN:'%5.0lf%%'";
|
|
||||||
$rrd_options .= " GPRINT:toner" . $toner['toner_id'] . ":MAX:%5.0lf%%\\\\l";
|
$rrd_options .= " GPRINT:toner" . $toner['toner_id'] . ":MAX:%5.0lf%%\\\\l";
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -48,10 +48,10 @@ if ($services['total'])
|
|||||||
|
|
||||||
foreach (dbFetchRows("SELECT * FROM services WHERE device_id = ? ORDER BY service_type", array($device['device_id'])) as $data)
|
foreach (dbFetchRows("SELECT * FROM services WHERE device_id = ? ORDER BY service_type", array($device['device_id'])) as $data)
|
||||||
{
|
{
|
||||||
if ($data[service_status] == "0" && $data[service_ignore] == "1") { $status = "grey"; }
|
if ($data['service_status'] == "0" && $data['service_ignore'] == "1") { $status = "grey"; }
|
||||||
if ($data[service_status] == "1" && $data[service_ignore] == "1") { $status = "green"; }
|
if ($data['service_status'] == "1" && $data['service_ignore'] == "1") { $status = "green"; }
|
||||||
if ($data[service_status] == "0" && $data[service_ignore] == "0") { $status = "red"; }
|
if ($data['service_status'] == "0" && $data['service_ignore'] == "0") { $status = "red"; }
|
||||||
if ($data[service_status] == "1" && $data[service_ignore] == "0") { $status = "blue"; }
|
if ($data['service_status'] == "1" && $data['service_ignore'] == "0") { $status = "blue"; }
|
||||||
echo("$break<a class=$status>" . strtolower($data[service_type]) . "</a>");
|
echo("$break<a class=$status>" . strtolower($data[service_type]) . "</a>");
|
||||||
$break = ", ";
|
$break = ", ";
|
||||||
}
|
}
|
||||||
@ -86,6 +86,7 @@ include("overview/storage.inc.php");
|
|||||||
|
|
||||||
if(is_array($entity_state['group']['c6kxbar'])) { include("overview/c6kxbar.inc.php"); }
|
if(is_array($entity_state['group']['c6kxbar'])) { include("overview/c6kxbar.inc.php"); }
|
||||||
|
|
||||||
|
include("overview/toner.inc.php");
|
||||||
include("overview/sensors/temperatures.inc.php");
|
include("overview/sensors/temperatures.inc.php");
|
||||||
include("overview/sensors/humidity.inc.php");
|
include("overview/sensors/humidity.inc.php");
|
||||||
include("overview/sensors/fanspeeds.inc.php");
|
include("overview/sensors/fanspeeds.inc.php");
|
||||||
|
69
html/pages/device/overview/toner.inc.php
Normal file
69
html/pages/device/overview/toner.inc.php
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$graph_type = "toner_usage";
|
||||||
|
|
||||||
|
$toners = dbFetchRows("SELECT * FROM `toner` WHERE device_id = ?", array($device['device_id']));
|
||||||
|
|
||||||
|
if (count($toners))
|
||||||
|
{
|
||||||
|
echo("<div style='background-color: #eeeeee; margin: 5px; padding: 5px;'>");
|
||||||
|
echo("<p style='padding: 0px 5px 5px;' class=sectionhead>");
|
||||||
|
echo('<a class="sectionhead" href="device/device='.$device['device_id'].'/tab=toner/">');
|
||||||
|
echo("<img align='absmiddle' src='images/icons/toner.png'> Toner</a></p>");
|
||||||
|
echo("<table width=100% cellspacing=0 cellpadding=5>");
|
||||||
|
$toner_rows = '0';
|
||||||
|
|
||||||
|
foreach ($toners as $toner)
|
||||||
|
{
|
||||||
|
if (is_integer($toner_rows/2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; }
|
||||||
|
$percent = round($toner['toner_current'], 0);
|
||||||
|
$total = formatStorage($toner['toner_size']);
|
||||||
|
$free = formatStorage($toner['toner_free']);
|
||||||
|
$used = formatStorage($toner['toner_used']);
|
||||||
|
|
||||||
|
$background['left'] = toner2colour($toner['toner_descr']);
|
||||||
|
unset($background['right']);
|
||||||
|
for ($i = 0;$i < strlen($background['left']); $i++)
|
||||||
|
{
|
||||||
|
$new = dechex(hexdec("0x" . $background['left'][$i])+1);
|
||||||
|
if (strlen($new) != 1) { $new = 'F'; }
|
||||||
|
$background['right'] .= $new;
|
||||||
|
}
|
||||||
|
|
||||||
|
$graph_array = array();
|
||||||
|
$graph_array['height'] = "100";
|
||||||
|
$graph_array['width'] = "210";
|
||||||
|
$graph_array['to'] = $now;
|
||||||
|
$graph_array['id'] = $toner['toner_id'];
|
||||||
|
$graph_array['type'] = $graph_type;
|
||||||
|
$graph_array['from'] = $day;
|
||||||
|
$graph_array['legend'] = "no";
|
||||||
|
|
||||||
|
$link_array = $graph_array;
|
||||||
|
$link_array['page'] = "graphs";
|
||||||
|
unset($link_array['height'], $link_array['width'], $link_array['legend']);
|
||||||
|
$link = generate_url($link_array);
|
||||||
|
|
||||||
|
$overlib_content = generate_overlib_content($graph_array, $device['hostname'] . " - " . $toner['toner_descr']);
|
||||||
|
|
||||||
|
$graph_array['width'] = 80; $graph_array['height'] = 20; $graph_array['bg'] = $graph_colour;
|
||||||
|
|
||||||
|
$minigraph = generate_graph_tag($graph_array);
|
||||||
|
|
||||||
|
echo("<tr bgcolor=$row_colour>
|
||||||
|
<td class=tablehead>".overlib_link($link, $toner['toner_descr'], $overlib_content)."</td>
|
||||||
|
<td width=90>".overlib_link($link, $minigraph, $overlib_content)."</td>
|
||||||
|
<td width=200>".overlib_link($link, print_percentage_bar (200, 20, $percent, NULL, "ffffff", $background['left'], $percent . "%", "ffffff", $background['right']), $overlib_content)."
|
||||||
|
</a></td>
|
||||||
|
</tr>");
|
||||||
|
|
||||||
|
$toner_rows++;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo("</table>");
|
||||||
|
echo("</div>");
|
||||||
|
}
|
||||||
|
|
||||||
|
unset ($toner_rows);
|
||||||
|
|
||||||
|
?>
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
echo(" ENTITY-SENSOR: ");
|
echo(" ENTITY-SENSOR: ");
|
||||||
|
|
||||||
echo("\nCaching OIDs:");
|
echo("Caching OIDs:");
|
||||||
|
|
||||||
if (!is_array($entity_array))
|
if (!is_array($entity_array))
|
||||||
{
|
{
|
||||||
|
@ -159,13 +159,14 @@ function delete_device($id)
|
|||||||
$device_tables = array('entPhysical', 'devices_attribs', 'devices_perms', 'bgpPeers', 'vlans', 'vrfs', 'storage', 'alerts', 'eventlog',
|
$device_tables = array('entPhysical', 'devices_attribs', 'devices_perms', 'bgpPeers', 'vlans', 'vrfs', 'storage', 'alerts', 'eventlog',
|
||||||
'syslog', 'ports', 'services', 'alerts', 'toner', 'frequency', 'current', 'sensors');
|
'syslog', 'ports', 'services', 'alerts', 'toner', 'frequency', 'current', 'sensors');
|
||||||
|
|
||||||
foreach ($device_tables as $table) {
|
foreach ($device_tables as $table)
|
||||||
|
{
|
||||||
dbDelete($table, "`device_id` = ?", array($id));
|
dbDelete($table, "`device_id` = ?", array($id));
|
||||||
}
|
}
|
||||||
|
|
||||||
shell_exec("rm -rf ".trim($config['rrd_dir'])."/$host");
|
shell_exec("rm -rf ".trim($config['rrd_dir'])."/$host");
|
||||||
|
|
||||||
$ret = "Removed Device $host\n";
|
$ret = "Removed device $host\n";
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user