$name

"; echo '
'; // All SLA's support the RTT metric include 'sla/rtt.inc.php'; // Load the per-type SLA metrics $rtt_type = basename($sla['rtt_type']); if (file_exists("includes/html/pages/device/sla/$rtt_type.inc.php")) { include "includes/html/pages/device/sla/$rtt_type.inc.php"; } echo '
'; } else { print_optionbar_start(); $slas = dbFetchRows('SELECT * FROM `slas` WHERE `device_id` = ? AND `deleted` = 0 ORDER BY `sla_nr`', [$device['device_id']]); // Collect types $sla_types = ['all' => 'All']; foreach ($slas as $sla) { $sla_type = $sla['rtt_type']; $sla_types[$sla_type] = trans_fb("modules.slas.{$sla_type}", ucfirst($sla_type)); } asort($sla_types); $status_options = [ 'all' => 'All', 'up' => 'Up', 'down' => 'Down', ]; echo "SLA » "; // SLA Types, on the left. $sep = ''; foreach ($sla_types as $sla_type => $text) { if (! $vars['view']) { $vars['view'] = $sla_type; } echo $sep; if ($vars['view'] == $sla_type) { echo ""; } echo generate_link($text, $vars, ['view' => $sla_type]); if ($vars['view'] == $sla_type) { echo ''; } $sep = ' | '; } unset($sep); // The status option - on the right echo '
'; echo "Status » "; $sep = ''; foreach ($status_options as $option => $text) { if (empty($vars['opstatus'])) { $vars['opstatus'] = $option; } echo $sep; if ($vars['opstatus'] == $option) { echo ""; } echo generate_link($text, $vars, ['opstatus' => $option]); if ($vars['opstatus'] == $option) { echo ''; } $sep = ' | '; } unset($sep); print_optionbar_end(); foreach ($slas as $sla) { if ($vars['view'] != 'all' && $vars['view'] != $sla['rtt_type']) { continue; } $opstatus = ($sla['opstatus'] === 0) ? 'up' : 'down'; d_echo('
Opstatus :: var: ' . $vars['opstatus'] . ', db: ' . $sla['opstatus'] . ', name: ' . $opstatus . '
'); if ($vars['opstatus'] != 'all' && $vars['opstatus'] != $opstatus) { continue; } $name = 'SLA #' . $sla['sla_nr'] . ' - ' . $sla_types[$sla['rtt_type']]; if ($sla['tag']) { $name .= ': ' . $sla['tag']; } if ($sla['owner']) { $name .= ' (Owner: ' . $sla['owner'] . ')'; } // These Types have more graphs. Display a sub-page if (($sla['rtt_type'] == 'jitter') || ($sla['rtt_type'] == 'icmpjitter') || ($sla['rtt_type'] == 'IcmpEcho') || ($sla['rtt_type'] == 'IcmpTimeStamp') || ($sla['rtt_type'] == 'icmpAppl')) { $name = '' . $name . ''; } else { $name = htmlentities($name); } // If we have an error highlight the row. if ($sla['opstatus'] == 2) { $danger = 'panel-danger'; } else { $danger = ''; } $graph_array = []; $graph_array['device'] = $device['device_id']; $graph_array['height'] = '100'; $graph_array['width'] = '215'; $graph_array['to'] = \LibreNMS\Config::get('time.now'); $graph_array['type'] = 'device_sla'; $graph_array['id'] = $sla['sla_id']; echo '

' . $name . '

'; echo "
"; include 'includes/html/print-graphrow.inc.php'; echo '
'; echo '
'; echo '
'; } } $pagetitle[] = 'SLAs';