Files
librenms-librenms/includes/html/pages/health.inc.php
PelliX 5f3b82de6f Added discovery and graphing for JunOS (SRX) RPM probes (#11187)
* Added discovery and graphing for JunOS (SRX) RPM probes

* Proposed changes for a percent based sensor type

* Fixed missing MIB declaration in JunOS YAML discovery file

* Updated Health-information.md to reflect the new percentage value type

* Added separate test data for junos_rpm type

* Update sensors.php

* Update sensors.php

* Update functions.inc.php

* test re-run

* Update junos_rpm.json

* percentage -> loss

* add ifSpeed prev test data

* mis-merge

* update sensors

* and bgp...

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-05-30 18:24:43 -05:00

115 lines
3.1 KiB
PHP

<?php
/*
* LibreNMS
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*
* @package LibreNMS
* @subpackage webui
* @link http://librenms.org
* @copyright 2017 LibreNMS
* @author LibreNMS Contributors
*/
$no_refresh = true;
$datas = ['mempool','processor','storage'];
$used_sensors = \LibreNMS\Util\ObjectCache::sensors();
foreach ($used_sensors as $group => $types) {
foreach ($types as $entry) {
$datas[] = $entry['class'];
}
}
$type_text = [
'overview' => "Overview",
'temperature' => "Temperature",
'charge' => "Battery Charge",
'humidity' => "Humidity",
'mempool' => "Memory",
'storage' => "Storage",
'diskio' => "Disk I/O",
'processor' => "Processor",
'voltage' => "Voltage",
'fanspeed' => "Fanspeed",
'frequency' => "Frequency",
'runtime' => "Runtime",
'current' => "Current",
'power' => "Power",
'power_consumed' => "Power Consumed",
'power_factor' => "Power Factor",
'dbm' => "dBm",
'load' => "Load",
'loss' => 'Loss',
'state' => "State",
'count' => "Count",
'signal' => "Signal",
'snr' => "SNR",
'pressure' => "Pressure",
'cooling' => "Cooling",
'toner' => 'Toner',
'delay' => 'Delay',
'quality_factor' => 'Quality factor',
'chromatic_dispersion' => 'Chromatic Dispersion',
'ber' => 'Bit Error Rate',
'eer' => 'Energy Efficiency Ratio',
'waterflow' => 'Water Flow Rate',
];
$active_metric = basename($vars['metric'] ?? 'processor');
if (!$vars['view']) {
$vars['view'] = "detail";
}
$link_array = ['page' => 'health'];
$navbar = '<span style="font-weight: bold;">Health</span> &#187; ';
$sep = "";
foreach ($datas as $texttype) {
$metric = strtolower($texttype);
$navbar .= $sep;
if ($active_metric == $metric) {
$navbar .= '<span class="pagemenu-selected">';
}
$navbar .= generate_link($type_text[$metric], $link_array, array('metric'=> $metric, 'view' => $vars['view']));
if ($active_metric == $metric) {
$navbar .= '</span>';
}
$sep = ' | ';
}
unset($sep);
if ($vars['view'] == "graphs") {
$displayoptions = '<span class="pagemenu-selected">';
}
$displayoptions .= generate_link("Graphs", $link_array, ['metric'=> $active_metric, 'view' => "graphs"]);
if ($vars['view'] == "graphs") {
$displayoptions .= '</span>';
}
$displayoptions .= ' | ';
if ($vars['view'] != "graphs") {
$displayoptions .= '<span class="pagemenu-selected">';
}
$displayoptions .= generate_link("No Graphs", $link_array, ['metric'=> $active_metric, 'view' => "detail"]);
if ($vars['view'] != "graphs") {
$displayoptions .= '</span>';
}
if (in_array($active_metric, $datas)) {
include("includes/html/pages/health/$active_metric.inc.php");
} else {
echo("No sensors of type $active_metric found.");
}