<?php require 'includes/graphs/common.inc.php'; $colours = 'mixed'; $nototal = $width < 224 ? 1 : 0; $unit_text = 'Milliseconds'; $rrd_filename = rrd_name($device['hostname'], array('app', 'ntpdserver', $app['app_id'])); $array = array('offset' => array('descr' => 'Offset'), 'jitter' => array('descr' => 'Jitter'), 'noise' => array('descr' => 'Noise'), 'stability' => array('descr' => 'Stability')); $i = 0; if (rrdtool_check_rrd_exists($rrd_filename)) { foreach ($array as $ds => $vars) { $rrd_list[$i]['filename'] = $rrd_filename; $rrd_list[$i]['descr'] = $vars['descr']; $rrd_list[$i]['ds'] = $ds; $rrd_list[$i]['colour'] = $config['graph_colours'][$colours][$i]; $i++; } } else { echo "file missing: {$file}"; } require 'includes/graphs/generic_multi_line.inc.php';
<?php require 'includes/graphs/common.inc.php'; $scale_min = 0; $ds = 'latency'; $colour_area = 'F6F6F6'; $colour_line = 'B3D0DB'; $colour_area_max = 'FFEE99'; $graph_max = 100; $unit_text = 'Latency'; $powerdns_rrd = rrd_name($device['hostname'], array('app', 'powerdns', $app['app_id'])); if (rrdtool_check_rrd_exists($powerdns_rrd)) { $rrd_filename = $powerdns_rrd; } require 'includes/graphs/generic_simplex.inc.php';
<?php require 'includes/graphs/common.inc.php'; $scale_min = 0; $ds = 'frequency'; $colour_area = 'F6F6F6'; $colour_line = 'B3D0DB'; $colour_area_max = 'FFEE99'; $graph_max = 100; $unit_text = 'Frequency'; $ntpclient_rrd = rrd_name($device['hostname'], array('app', 'ntpclient', $app['app_id'])); if (rrdtool_check_rrd_exists($ntpclient_rrd)) { $rrd_filename = $ntpclient_rrd; } require 'includes/graphs/generic_simplex.inc.php';
<?php require 'includes/graphs/common.inc.php'; $mysql_rrd = rrd_name($device['hostname'], array('app', 'mysql', $app['app_id'])); if (rrdtool_check_rrd_exists($mysql_rrd)) { $rrd_filename = $mysql_rrd; } $multiplier = 8; $ds_in = 'BRd'; $ds_out = 'BSt'; require 'includes/graphs/generic_data.inc.php';
<?php if (rrdtool_check_rrd_exists(rrd_name($device['hostname'], 'netstats-ip_forward'))) { $graph_title = 'IP Forward statistics'; $graph_type = 'device_ip_forward'; include 'includes/print-device-graph.php'; }
<?php $nototal = 1; $ds_in = 'msg_recv'; $ds_out = 'msg_sent'; $graph_titel .= '::messages'; $unit_text = 'Messages/sec'; $colour_line_in = '008800FF'; $colour_line_out = '000088FF'; $colour_area_in = 'CEFFCE66'; $colour_area_out = 'CECEFF66'; $colour_area_in_max = 'CC88CC'; $colour_area_out_max = 'FFEFAA'; $mailscanner_rrd = rrd_name($device['hostname'], array('app', 'mailscannerV2', $app['app_id'])); if (rrdtool_check_rrd_exists($mailscanner_rrd)) { $rrd_filename = $mailscanner_rrd; } require 'includes/graphs/generic_duplex.inc.php';
<?php $ds_in = 'apply_ms'; $ds_out = 'commit_ms'; $in_text = 'Apply'; $out_text = 'Commit'; $ceph_osd_rrd = ceph_rrd('osd'); if (rrdtool_check_rrd_exists($ceph_osd_rrd)) { $rrd_filename = $ceph_osd_rrd; } $colour_area_in = 'FF3300'; $colour_line_in = 'FF0000'; $colour_area_out = 'FF6633'; $colour_line_out = 'CC3300'; $colour_area_in_max = 'FF6633'; $colour_area_out_max = 'FF9966'; $unit_text = 'Miliseconds'; require 'includes/graphs/generic_duplex.inc.php';
<?php $scale_min = 0; require 'includes/graphs/common.inc.php'; $drbd_rrd = rrd_name($device['hostname'], array('app', 'drbd', $app['app_instance'])); if (rrdtool_check_rrd_exists($drbd_rrd)) { $rrd_filename = $drbd_rrd; } $ds = 'oos'; $colour_area = 'CDEB8B'; $colour_line = '006600'; $colour_area_max = 'FFEE99'; $graph_max = 1; $multiplier = 8; $unit_text = 'Bytes'; require 'includes/graphs/generic_simplex.inc.php';
<?php if (rrdtool_check_rrd_exists(rrd_name($device['hostname'], 'ipSystemStats-ipv6'))) { $graph_title = 'IPv6 IP Packet Statistics'; $graph_type = 'device_ipSystemStats_v6'; include 'includes/print-device-graph.php'; $graph_title = 'IPv6 IP Fragmentation Statistics'; $graph_type = 'device_ipSystemStats_v6_frag'; include 'includes/print-device-graph.php'; } if (rrdtool_check_rrd_exists(rrd_name($device['hostname'], 'ipSystemStats-ipv4'))) { $graph_title = 'IPv4 IP Packet Statistics'; $graph_type = 'device_ipSystemStats_v4'; include 'includes/print-device-graph.php'; }
$graph_type = 'port_upkts'; echo '<div class="panel-body">'; include 'includes/print-interface-graphs.inc.php'; echo '</div></div>'; echo '<div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">Interface Non Unicast</h3> </div>'; $graph_type = 'port_nupkts'; echo '<div class="panel-body">'; include 'includes/print-interface-graphs.inc.php'; echo '</div></div>'; echo '<div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">Interface Errors</h3> </div>'; $graph_type = 'port_errors'; echo '<div class="panel-body">'; include 'includes/print-interface-graphs.inc.php'; echo '</div></div>'; if (rrdtool_check_rrd_exists(get_port_rrdfile_path($device['hostname'], $port['port_id'], 'dot3'))) { echo '<div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">Ethernet Errors</h3> </div>'; $graph_type = 'port_etherlike'; echo '<div class="panel-body">'; include 'includes/print-interface-graphs.inc.php'; echo '</div></div>'; } }
<?php $scale_min = 0; require 'includes/graphs/common.inc.php'; $agent_rrd = rrd_name($device['hostname'], 'agent'); if (rrdtool_check_rrd_exists($agent_rrd)) { $rrd_filename = $agent_rrd; } $ds = 'time'; $colour_area = 'EEEEEE'; $colour_line = '36393D'; $colour_area_max = 'FFEE99'; $graph_max = 1; $multiplier = 1000; $multiplier_action = '/'; $unit_text = 'Seconds'; require 'includes/graphs/generic_simplex.inc.php';
<?php if (rrdtool_check_rrd_exists(rrd_name($device['hostname'], 'wificlients-radio1'))) { $graph_title = 'Wireless clients'; $graph_type = 'device_wificlients'; include 'includes/print-device-graph.php'; }
<?php /* * Copyright (C) 2015 Mark Schouten <*****@*****.**> * * 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; version 2 dated June, * 1991. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * See http://www.gnu.org/licenses/gpl.txt for the full license */ require 'includes/graphs/common.inc.php'; $proxmox_rrd = proxmox_rrd_name($vars['cluster'], $vars['vmid'], $vars['port']); if (rrdtool_check_rrd_exists($proxmox_rrd)) { $rrd_filename = $proxmox_rrd; } $ds_in = 'INOCTETS'; $ds_out = 'OUTOCTETS'; require 'includes/graphs/generic_data.inc.php';
<?php $rrd = rrd_name($device['hostname'], array('app', 'memcached', $app['app_id'])); if (rrdtool_check_rrd_exists($rrd)) { $rrd_filename = $rrd; }
if ($sort == 'in') { $sort = 'cipMacHCSwitchedBytes_input_rate'; } elseif ($sort == 'out') { $sort = 'cipMacHCSwitchedBytes_output_rate'; } else { $sort = 'bps'; } } //end if $accs = dbFetchRows("SELECT *, (M.cipMacHCSwitchedBytes_input_rate + M.cipMacHCSwitchedBytes_output_rate) AS bps,\n (M.cipMacHCSwitchedPkts_input_rate + M.cipMacHCSwitchedPkts_output_rate) AS pps\n FROM `mac_accounting` AS M, `ports` AS I, `devices` AS D WHERE M.port_id = ?\n AND I.port_id = M.port_id AND D.device_id = I.device_id ORDER BY {$sort} DESC LIMIT 0," . $topn, array($port)); $pluses = ''; $iter = '0'; $rrd_options .= " COMMENT:' In\\: Current Maximum Total Out\\: Current Maximum Total\\\\n'"; foreach ($accs as $acc) { $this_rrd = rrd_name($acc['hostname'], array('cip', $acc['ifIndex'], $acc['mac'])); if (rrdtool_check_rrd_exists($this_rrd)) { $mac = formatmac($acc['mac']); $name = $mac; $addy = dbFetchRow('SELECT * FROM ipv4_mac where mac_address = ? AND port_id = ?', array($acc['mac'], $acc['port_id'])); if ($addy) { $name = $addy['ipv4_address'] . ' (' . $mac . ')'; $peer = dbFetchRow('SELECT * FROM ipv4_addresses AS A, ports AS I, devices AS D WHERE A.ipv4_address = ? AND I.port_id = A.port_id AND D.device_id = I.device_id', array($addy['ipv4_address'])); if ($peer) { $name = $peer['hostname'] . ' ' . makeshortif($peer['ifDescr']) . ' (' . $mac . ')'; } if (dbFetchCell("SELECT count(*) FROM bgpPeers WHERE device_id = '" . $acc['device_id'] . "' AND bgpPeerIdentifier = ?", array($addy['ipv4_address']))) { $peer_info = dbFetchRow('SELECT * FROM bgpPeers WHERE device_id = ? AND bgpPeerIdentifier = ?', array($acc['device_id'], $addy['ipv4_address'])); $name .= ' - AS' . $peer_info['bgpPeerRemoteAs']; } if ($peer_info) {
if (is_array($config['device_traffic_iftype'])) { foreach ($config['device_traffic_iftype'] as $iftype) { if (preg_match($iftype . 'i', $port['ifType'])) { $ignore = 1; } } } if (is_array($config['device_traffic_descr'])) { foreach ($config['device_traffic_descr'] as $ifdescr) { if (preg_match($ifdescr . 'i', $port['ifDescr']) || preg_match($ifdescr . 'i', $port['ifName']) || preg_match($ifdescr . 'i', $port['portName'])) { $ignore = 1; } } } $rrd_filename = get_port_rrdfile_path($device['hostname'], $port['port_id']); if ($ignore != 1 && rrdtool_check_rrd_exists($rrd_filename)) { $port = ifLabel($port); // Fix Labels! ARGH. This needs to be in the bloody database! $rrd_filenames[] = $rrd_filename; $rrd_list[$i]['filename'] = $rrd_filename; $rrd_list[$i]['descr'] = shorten_interface_type($port['label']); $rrd_list[$i]['descr_in'] = $port['label']; $rrd_list[$i]['descr_out'] = $port['ifAlias']; $rrd_list[$i]['ds_in'] = $ds_in; $rrd_list[$i]['ds_out'] = $ds_out; $i++; } unset($ignore); } //end foreach $units = 'b';
* (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * @package LibreNMS * @link http://librenms.org * @copyright 2016 crcro * @author Cercel Valentin <*****@*****.**> * */ require 'includes/graphs/common.inc.php'; $scale_min = 0; $ds = 'time_remaining'; $colour_area = 'EEEEEE'; $colour_line = '36393D'; $colour_area_max = 'FFEE99'; $graph_max = 0; $unit_text = 'Minutes'; $ups_nut = rrd_name($device['hostname'], array('app', 'ups-nut', $app['app_id'])); if (rrdtool_check_rrd_exists($ups_nut)) { $rrd_filename = $ups_nut; } else { echo "file missing: {$rrd_filename}"; } require 'includes/graphs/generic_simplex.inc.php';
<?php $scale_min = 0; require 'includes/graphs/common.inc.php'; $apache_rrd = rrd_name($device['hostname'], array('app', 'apache', $app['app_id'])); if (rrdtool_check_rrd_exists($apache_rrd)) { $rrd_filename = $apache_rrd; } $ds = 'access'; $colour_area = 'B0C4DE'; $colour_line = '191970'; $colour_area_max = 'FFEE99'; $graph_max = 1; $unit_text = 'Hits/sec'; require 'includes/graphs/generic_simplex.inc.php';
<?php if (rrdtool_check_rrd_exists(rrd_name($device['hostname'], 'ucd_mem'))) { $graph_title = 'Memory Utilisation'; $graph_type = 'device_memory'; include 'includes/print-device-graph.php'; }
<?php require 'includes/graphs/common.inc.php'; $scale_min = 0; $ds = 'stratum'; $colour_area = 'FFCECE'; $colour_line = '880000'; $colour_area_max = 'FFCCCC'; $graph_max = 0; $unit_text = 'Stratum'; $ntpdserver_rrd = rrd_name($device['hostname'], array('app', 'ntpdserver', $app['app_id'])); if (rrdtool_check_rrd_exists($ntpdserver_rrd)) { $rrd_filename = $ntpdserver_rrd; } require 'includes/graphs/generic_simplex.inc.php';
/** * rrdtool backend implementation of data_update * * Tags: * rrd_def array|string: (required) an array of rrd field definitions example: "DS:dataName:COUNTER:600:U:100000000000" * rrd_name array|string: the rrd filename, will be processed with rrd_name() * rrd_oldname array|string: old rrd filename to rename, will be processed with rrd_name() * rrd_step int: rrd step, defaults to 300 * * @param array $device device array * @param string $measurement the name of this measurement (if no rrd_name tag is given, this will be used to name the file) * @param array $tags tags to pass additional info to rrdtool * @param array $fields data values to update */ function rrdtool_data_update($device, $measurement, $tags, $fields) { global $config; $rrd_name = $tags['rrd_name'] ?: $measurement; $step = $tags['rrd_step'] ?: 300; $oldname = $tags['rrd_oldname']; if (!empty($oldname)) { rrd_file_rename($device, $oldname, $rrd_name); } if (isset($tags['rrd_proxmox_name'])) { $pmxvars = $tags['rrd_proxmox_name']; $rrd = proxmox_rrd_name($pmxvars['pmxcluster'], $pmxvars['vmid'], $pmxvars['vmport']); } else { $rrd = rrd_name($device['hostname'], $rrd_name); } if ($tags['rrd_def'] && !rrdtool_check_rrd_exists($rrd)) { $rrd_def = is_array($tags['rrd_def']) ? $tags['rrd_def'] : array($tags['rrd_def']); // add the --step and the rra definitions to the command $newdef = "--step {$step} " . implode(' ', $rrd_def) . $config['rrd_rra']; rrdtool('create', $rrd, $newdef); } rrdtool_update($rrd, $fields); }
if (is_array($config['device_traffic_iftype'])) { foreach ($config['device_traffic_iftype'] as $iftype) { if (preg_match($iftype . 'i', $int['ifType'])) { $ignore = 1; } } } if (is_array($config['device_traffic_descr'])) { foreach ($config['device_traffic_descr'] as $ifdescr) { if (preg_match($ifdescr . 'i', $int['ifDescr']) || preg_match($ifdescr . 'i', $int['ifName']) || preg_match($ifdescr . 'i', $int['portName'])) { $ignore = 1; } } } $rrd_file = get_port_rrdfile_path($device['hostname'], $int['port_id']); if (rrdtool_check_rrd_exists($rrd_file) && $ignore != 1) { $rrd_filename = $rrd_file; // FIXME: Can this be unified without side-effects? $rrd_list[$i]['filename'] = $rrd_filename; $rrd_list[$i]['descr'] = $port['label']; $rrd_list[$i]['descr_in'] = $device['hostname']; $rrd_list[$i]['descr_out'] = display($port['ifAlias']); $rrd_list[$i]['ds_in'] = $ds_in; $rrd_list[$i]['ds_out'] = $ds_out; $i++; } unset($ignore); } //end foreach } //end foreach
* (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * @package LibreNMS * @link http://librenms.org * @copyright 2016 Karl Shea, LibreNMS * @author Karl Shea <*****@*****.**> * */ require 'includes/graphs/common.inc.php'; $scale_min = 0; $ds = 'mode'; $colour_area = 'FFCECE'; $colour_line = '880000'; $colour_area_max = 'FFCCCC'; $graph_max = 0; $unit_text = 'Mode'; $gpsd = rrd_name($device['hostname'], array('app', 'gpsd', $app['app_id'])); if (rrdtool_check_rrd_exists($gpsd)) { $rrd_filename = $gpsd; } else { echo "file missing: {$rrd_filename}"; } require 'includes/graphs/generic_simplex.inc.php';
$rrd_list[2]['colour_area_out'] = 'ee9D88'; $rrd_list[4]['filename'] = $rrd_file; $rrd_list[4]['descr'] = $int['ifDescr']; $rrd_list[4]['ds_in'] = 'INMULTICASTPKTS'; $rrd_list[4]['ds_out'] = 'OUTMULTICASTPKTS'; $rrd_list[4]['descr'] = 'Multicast'; $rrd_list[4]['colour_area_in'] = '905090'; $rrd_list[4]['colour_area_out'] = 'c0a060'; $units = ''; $units_descr = 'Packets'; $total_units = 'B'; $colours_in = 'purples'; $multiplier = '1'; $colours_out = 'oranges'; $nototal = 1; include 'includes/graphs/generic_multi_seperated.inc.php'; } elseif (rrdtool_check_rrd_exists($rrd_file)) { $rrd_filename = $rrd_file; $ds_in = 'INNUCASTPKTS'; $ds_out = 'OUTNUCASTPKTS'; $colour_area_in = 'AA66AA'; $colour_line_in = '330033'; $colour_area_out = 'FFDD88'; $colour_line_out = 'FF6600'; $colour_area_in_max = 'cc88cc'; $colour_area_out_max = 'FFefaa'; $unit_text = 'Packets'; $graph_max = 1; include 'includes/graphs/generic_duplex.inc.php'; } //end if
<?php if (rrdtool_check_rrd_exists(rrd_name($device['hostname'], 'netstats-icmp'))) { $graph_title = 'ICMP Statistics'; $graph_type = 'device_icmp'; include 'includes/print-device-graph.php'; }
<?php $ds_in = 'rbytes'; $in_text = 'Read'; $ds_out = 'wrbytes'; $out_text = 'Write'; $format = 'bytes'; $ceph_pool_rrd = ceph_rrd('pool'); if (rrdtool_check_rrd_exists($ceph_pool_rrd)) { $rrd_filename = $ceph_pool_rrd; } $colour_area_in = 'FF3300'; $colour_line_in = 'FF0000'; $colour_area_out = 'FF6633'; $colour_line_out = 'CC3300'; $colour_area_in_max = 'FF6633'; $colour_area_out_max = 'FF9966'; $unit_text = 'Bytes I/O'; require 'includes/graphs/generic_duplex.inc.php';
if (is_array($config['device_traffic_iftype'])) { foreach ($config['device_traffic_iftype'] as $iftype) { if (preg_match($iftype . 'i', $port['ifType'])) { $ignore = 1; } } } if (is_array($config['device_traffic_descr'])) { foreach ($config['device_traffic_descr'] as $ifdescr) { if (preg_match($ifdescr . 'i', $port['ifDescr']) || preg_match($ifdescr . 'i', $port['ifName']) || preg_match($ifdescr . 'i', $port['portName'])) { $ignore = 1; } } } $rrd_filename = get_port_rrdfile_path($port['hostname'], $port['port_id']); if (!$ignore && $i < 1100 && rrdtool_check_rrd_exists($rrd_filename)) { $rrd_filenames[] = $rrd_filename; $rrd_list[$i]['filename'] = $rrd_filename; // $rrd_list[$i]['descr'] = $port['device_id'] . " " . $port['ifDescr']; $rrd_list[$i]['descr'] = 'dev' . $port['device_id'] . 'if' . $port['ifIndex']; $rrd_list[$i]['rra_in'] = $rra_in; $rrd_list[$i]['rra_out'] = $rra_out; $i++; } unset($ignore); } //end foreach $units = 'bps'; $total_units = 'B'; $colours_in = 'greens'; $multiplier = '8';
* 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. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * @package LibreNMS * @link http://librenms.org * @copyright 2016 crcro * @author Cercel Valentin <*****@*****.**> */ require 'includes/graphs/common.inc.php'; $scale_min = 0; $ds = 'load'; $colour_area = 'EEEEEE'; $colour_line = 'FF3300'; $colour_area_max = 'FFEE99'; $graph_max = 0; $unit_text = 'Percent'; $ups_apcups = rrd_name($device['hostname'], array('app', 'ups-apcups', $app['app_id'])); if (rrdtool_check_rrd_exists($ups_apcups)) { $rrd_filename = $ups_apcups; } require 'includes/graphs/generic_simplex.inc.php';
<?php if ($device['os'] == 'screenos' && rrdtool_check_rrd_exists(rrd_name($device['hostname'], 'screenos-sessions'))) { $graph_title = 'Firewall Sessions'; $graph_type = 'screenos_sessions'; include 'includes/print-device-graph.php'; }