mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
168 lines
5.4 KiB
PHP
168 lines
5.4 KiB
PHP
<?php
|
|
/*
|
|
* LibreNMS module to Display data from F5 BigIP LTM Devices
|
|
*
|
|
* Copyright (c) 2016 Aaron Daniels <aaron@daniels.id.au>
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
?>
|
|
<table id='grid' data-toggle='bootgrid' class='table table-condensed table-responsive table-striped'>
|
|
<thead>
|
|
<tr>
|
|
<th data-column-id="vsid" data-type="numeric" data-visible="false">vsid</th>
|
|
<th data-column-id="poolid" data-type="numeric" data-visible="false">poolid</th>
|
|
<th data-column-id="name">Name</th>
|
|
<th data-column-id="host">IP : Port</th>
|
|
<th data-column-id="pool">Default Pool</th>
|
|
<th data-column-id="status" data-visible="false">Status</th>
|
|
<th data-column-id="message">Status</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
foreach ($components as $vs_id => $array) {
|
|
if ($array['type'] != 'f5-ltm-vs') {
|
|
continue;
|
|
}
|
|
$string = $array['IP'].":".$array['port'];
|
|
if ($array['status'] != 0) {
|
|
$message = $array['error'];
|
|
$status = 2;
|
|
} else {
|
|
$message = 'Ok';
|
|
$status = '';
|
|
}
|
|
|
|
// Find the ID for this pool
|
|
$id = 0;
|
|
foreach ($components as $k => $v) {
|
|
if ($v['type'] != 'f5-ltm-pool') {
|
|
continue;
|
|
}
|
|
if ($v['label'] == $array['pool']) {
|
|
$id = $k;
|
|
}
|
|
}
|
|
?>
|
|
<tr>
|
|
<td><?php echo $vs_id; ?></td>
|
|
<td><?php echo $id; ?></td>
|
|
<td><?php echo $array['label']; ?></td>
|
|
<td><?php echo $string; ?></td>
|
|
<td><?php echo $array['pool']; ?></td>
|
|
<td><?php echo $status; ?></td>
|
|
<td><?php echo $message; ?></td>
|
|
</tr>
|
|
<?php
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="panel panel-default" id="connections">
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">Connections</h3>
|
|
</div>
|
|
<div class="panel-body">
|
|
<?php
|
|
$graph_array = array();
|
|
$graph_array['device'] = $device['device_id'];
|
|
$graph_array['height'] = '100';
|
|
$graph_array['width'] = '215';
|
|
$graph_array['legend'] = 'no';
|
|
$graph_array['to'] = $config['time']['now'];
|
|
$graph_array['type'] = 'device_bigip_ltm_allvs_conns';
|
|
require 'includes/print-graphrow.inc.php';
|
|
?>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel panel-default" id="bytesin">
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">Bytes In</h3>
|
|
</div>
|
|
<div class="panel-body">
|
|
<?php
|
|
$graph_array = array();
|
|
$graph_array['device'] = $device['device_id'];
|
|
$graph_array['height'] = '100';
|
|
$graph_array['width'] = '215';
|
|
$graph_array['legend'] = 'no';
|
|
$graph_array['to'] = $config['time']['now'];
|
|
$graph_array['type'] = 'device_bigip_ltm_allvs_bytesin';
|
|
require 'includes/print-graphrow.inc.php';
|
|
?>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel panel-default" id="bytesout">
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">Bytes Out</h3>
|
|
</div>
|
|
<div class="panel-body">
|
|
<?php
|
|
$graph_array = array();
|
|
$graph_array['device'] = $device['device_id'];
|
|
$graph_array['height'] = '100';
|
|
$graph_array['width'] = '215';
|
|
$graph_array['legend'] = 'no';
|
|
$graph_array['to'] = $config['time']['now'];
|
|
$graph_array['type'] = 'device_bigip_ltm_allvs_bytesout';
|
|
require 'includes/print-graphrow.inc.php';
|
|
?>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel panel-default" id="pktsin">
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">Packets In</h3>
|
|
</div>
|
|
<div class="panel-body">
|
|
<?php
|
|
$graph_array = array();
|
|
$graph_array['device'] = $device['device_id'];
|
|
$graph_array['height'] = '100';
|
|
$graph_array['width'] = '215';
|
|
$graph_array['legend'] = 'no';
|
|
$graph_array['to'] = $config['time']['now'];
|
|
$graph_array['type'] = 'device_bigip_ltm_allvs_pktsin';
|
|
require 'includes/print-graphrow.inc.php';
|
|
?>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel panel-default" id="pktsout">
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">Packets Out</h3>
|
|
</div>
|
|
<div class="panel-body">
|
|
<?php
|
|
$graph_array = array();
|
|
$graph_array['device'] = $device['device_id'];
|
|
$graph_array['height'] = '100';
|
|
$graph_array['width'] = '215';
|
|
$graph_array['legend'] = 'no';
|
|
$graph_array['to'] = $config['time']['now'];
|
|
$graph_array['type'] = 'device_bigip_ltm_allvs_pktsout';
|
|
require 'includes/print-graphrow.inc.php';
|
|
?>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$("#grid").bootgrid({
|
|
caseSensitive: false,
|
|
statusMappings: {
|
|
2: "danger"
|
|
},
|
|
}).on("click.rs.jquery.bootgrid", function (e, columns, row) {
|
|
var link = '<?php echo generate_url($vars, array('type' => 'ltm_vs', 'subtype' => 'ltm_vs_det')); ?>vsid='+row['vsid']+'/poolid='+row['poolid'];
|
|
window.location.href = link;
|
|
});
|
|
</script>
|