if (isset($vars['sysContact'])) { $override_sysContact_string = $vars['sysContact']; } $disable_notify = $vars['disable_notify']; if ($override_sysContact_bool) { set_dev_attrib($device, 'override_sysContact_bool', '1'); } else { del_dev_attrib($device, 'override_sysContact_bool'); } if (isset($override_sysContact_string)) { set_dev_attrib($device, 'override_sysContact_string', $override_sysContact_string); } if ($disable_notify) { set_dev_attrib($device, 'disable_notify', '1'); } else { del_dev_attrib($device, 'disable_notify'); } // 2019-12-05 23:30:00 if (isset($vars['ignore_until']) && $vars['ignore_until_enable']) { $update['ignore_until'] = $vars['ignore_until']; $device['ignore_until'] = $vars['ignore_until']; } else { $update['ignore_until'] = array('NULL'); $device['ignore_until'] = ''; } dbUpdate($update, 'devices', '`device_id` = ?', array($device['device_id'])); $update_message = "Device alert settings updated."; $updated = 1; } if ($updated && $update_message) { print_message($update_message);
} // Fetch all MIBs we support for specific OS groups foreach ($config['os_group'] as $os => $data) { foreach ($data['mibs'] as $mib) { if (in_array($mib, array_keys($mibs)) === FALSE) { $other_mibs[$mib]++; } } } // Sort alphabetically ksort($other_mibs); $attribs = get_dev_attribs($device['device_id']); if ($_POST['toggle_mib'] && isset($mibs[$_POST['toggle_mib']])) { $mib = $_POST['toggle_mib']; if (isset($attribs['mib_' . $mib])) { del_dev_attrib($device, 'mib_' . $mib); } else { set_dev_attrib($device, 'mib_' . $mib, "0"); } $attribs = get_dev_attribs($device['device_id']); } print_message("This page allows you to disable certain MIBs to be polled for a device. This configuration disables all discovery modules using this MIB."); ?> <div class="row"> <!-- begin row --> <div class="col-md-6"> <!-- begin poller options --> <fieldset> <legend>Device MIBs</legend> </fieldset>
if ($_POST['toggle_poller'] && isset($config['poller_modules'][$_POST['toggle_poller']])) { $module = mres($_POST['toggle_poller']); if (isset($attribs['poll_' . $module]) && $attribs['poll_' . $module] != $config['poller_modules'][$_POST['toggle_poller']]) { del_dev_attrib($device, 'poll_' . $module); } elseif ($config['poller_modules'][$_POST['toggle_poller']] == 0) { set_dev_attrib($device, 'poll_' . $module, "1"); } else { set_dev_attrib($device, 'poll_' . $module, "0"); } $attribs = get_dev_attribs($device['device_id']); } if ($_POST['toggle_discovery'] && isset($config['discovery_modules'][$_POST['toggle_discovery']])) { $module = mres($_POST['toggle_discovery']); if (isset($attribs['discover_' . $module]) && $attribs['discover_' . $module] != $config['discovery_modules'][$_POST['toggle_discovery']]) { del_dev_attrib($device, 'discover_' . $module); } elseif ($config['discovery_modules'][$_POST['toggle_discovery']] == 0) { set_dev_attrib($device, 'discover_' . $module, "1"); } else { set_dev_attrib($device, 'discover_' . $module, "0"); } $attribs = get_dev_attribs($device['device_id']); } ?> <div class="row-fluid"> <div class="row-fluid"> <div class="span6"> <fieldset> <legend>Poller Modules</legend>
* 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. */ header('Content-type: application/json'); $status = 'error'; $descr = mres($_POST['descr']); $device_id = mres($_POST['device_id']); $ifName = mres($_POST['ifName']); $port_id = mres($_POST['port_id']); logfile($descr . ',' . $device_id . ',' . $ifName . ',' . $port_id); if (!empty($ifName) && is_numeric($port_id)) { // We have ifName and port id so update ifAlias if (empty($descr)) { $descr = 'repoll'; // Set to repoll so we avoid using ifDescr on port poll } if (dbUpdate(array('ifAlias' => $descr), 'ports', '`port_id`=?', array($port_id)) > 0) { $device = device_by_id_cache($device_id); if ($descr === 'repoll') { del_dev_attrib($device, 'ifName:' . $ifName); } else { set_dev_attrib($device, 'ifName:' . $ifName, 1); } $status = 'ok'; } else { $status = 'na'; } } $response = array('status' => $status); echo _json_encode($response);
// Known types $update_array['type'] = strtolower($entry['prtMarkerSuppliesType']); break; default: print_debug("Could not handle resource type " . $entry['prtMarkerSuppliesType']); continue 2; } discover_printersupply($valid['printersupplies'], $device, $update_array); } // CLEANME remove after r8500 but not before CE 2016/10 del_dev_attrib($device, 'pagecounter_oid'); del_dev_attrib($device, 'transferroller_oid'); del_dev_attrib($device, 'fuser_oid'); del_dev_attrib($device, 'imagingdrum_oid'); del_dev_attrib($device, 'imagingdrum_c_oid'); del_dev_attrib($device, 'imagingdrum_m_oid'); del_dev_attrib($device, 'imagingdrum_y_oid'); del_dev_attrib($device, 'imagingdrum_k_oid'); del_dev_attrib($device, 'wastebox_oid'); del_dev_attrib($device, 'imagingdrum_c_cap_oid'); del_dev_attrib($device, 'imagingdrum_m_cap_oid'); del_dev_attrib($device, 'imagingdrum_y_cap_oid'); del_dev_attrib($device, 'imagingdrum_k_cap_oid'); del_dev_attrib($device, 'imagingdrum_cap_oid'); del_dev_attrib($device, 'transferroller_cap_oid'); del_dev_attrib($device, 'fuser_cap_oid'); del_dev_attrib($device, 'pagecount_oid'); // Pagecounter moved to Counter Sensors // END CLEANME echo PHP_EOL; // EOF
* 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. */ $status = 'error'; $descr = mres($_POST['descr']); $device_id = mres($_POST['device_id']); $ifName = mres($_POST['ifName']); $port_id = mres($_POST['port_id']); logfile($descr . ',' . $device_id . ',' . $ifName . ',' . $port_id); if (!empty($ifName) && is_numeric($port_id)) { // We have ifName and port id so update ifAlias if (empty($descr)) { $descr = 'repoll'; // Set to repoll so we avoid using ifDescr on port poll } if (dbUpdate(array('ifAlias' => $descr), 'ports', '`port_id`=?', array($port_id)) > 0) { $device = device_by_id_cache($device_id); if ($descr === 'repoll') { del_dev_attrib($device, 'ifName'); } else { set_dev_attrib($device, 'ifName', $ifName); } $status = 'ok'; } else { $status = 'na'; } } $response = array('status' => $status); echo _json_encode($response);
* Copyright (c) 2014 Neil Lathwood <https://github.com/laf/ http://www.lathwood.co.uk> * * 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. */ if (is_admin() === false) { $response = array('status' => 'error', 'message' => 'Need to be admin'); echo _json_encode($response); exit; } $device['device_id'] = mres($_POST['device_id']); $attrib = mres($_POST['attrib']); $state = mres($_POST['state']); $status = 'error'; $message = 'Error with config'; if (empty($device['device_id'])) { $message = 'No device passed'; } else { if ($state == true) { set_dev_attrib($device, $attrib, $state); } else { del_dev_attrib($device, $attrib); } $status = 'ok'; $message = 'Config has been updated'; } $response = array('status' => $status, 'message' => $message); echo _json_encode($response);
} if ($_POST['retries']) { $update['retries'] = $retries; } else { $update['retries'] = array('NULL'); } $update = array_merge($update, $v3); $device_tmp = deviceArray($device['hostname'], $community, $snmpver, $port, $transport, $v3, $port_assoc_mode); if (isSNMPable($device_tmp)) { $rows_updated = dbUpdate($update, 'devices', '`device_id` = ?', array($device['device_id'])); $max_repeaters_set = false; if (is_numeric($max_repeaters) && $max_repeaters != 0) { set_dev_attrib($device, 'snmp_max_repeaters', $max_repeaters); $max_repeaters_set = true; } else { del_dev_attrib($device, 'snmp_max_repeaters'); $max_repeaters_set = true; } if ($rows_updated > 0) { $update_message = $rows_updated . ' Device record updated.'; $updated = 1; } else { if ($rows_updated = '-1') { if ($max_repeaters_set === true) { $update_message = 'SNMP Max repeaters updated, no other changes made'; } else { $update_message = 'Device record unchanged. No update necessary.'; } $updated = -1; } else { $update_message = 'Device record update error.';
$device_id = mres($_POST['device_id']); $ifName = mres($_POST['ifName']); $port_id = mres($_POST['port_id']); if (!empty($ifName) && is_numeric($port_id) && is_numeric($port_id)) { // We have ifName and port id so update ifAlias if (empty($speed)) { $speed = array('NULL'); $high_speed = array('NULL'); // Set to 999999 so we avoid using ifDescr on port poll } else { $high_speed = $speed / 1000000; } if (dbUpdate(array('ifSpeed' => $speed, 'ifHighSpeed' => $high_speed), 'ports', '`port_id`=?', array($port_id)) > 0) { $device = device_by_id_cache($device_id); if (is_array($speed)) { del_dev_attrib($device, 'ifSpeed:' . $ifName); log_event("{$ifName} Port speed cleared manually", $device, 'interface', $port_id); } else { set_dev_attrib($device, 'ifSpeed:' . $ifName, 1); log_event("{$ifName} Port speed set manually: {$speed}", $device, 'interface', $port_id); $port_tune = get_dev_attrib($device, 'ifName_tune:' . $ifName); $device_tune = get_dev_attrib($device, 'override_rrdtool_tune'); if ($port_tune == "true" || $device_tune == "true" && $port_tune != 'false' || $config['rrdtool_tune'] == "true" && $port_tune != 'false' && $device_tune != 'false') { $rrdfile = get_port_rrdfile_path($device['hostname'], $port_id); rrdtool_tune('port', $rrdfile, $speed); } } $status = 'ok'; } else { $status = 'na'; }
if (!empty($wmi_username)) { set_dev_attrib($device, 'wmi_username', $wmi_username); } else { del_dev_attrib($device, 'wmi_username'); } if (!empty($wmi_password)) { set_dev_attrib($device, 'wmi_password', $wmi_password); } else { del_dev_attrib($device, 'wmi_password'); } $update_message = "Device WMI data updated."; $updated = 1; if ($vars['toggle_poller'] && isset($GLOBALS['config']['wmi']['modules'][$vars['toggle_poller']])) { $module = $vars['toggle_poller']; if (isset($attribs['wmi_poll_' . $module]) && $attribs['wmi_poll_' . $module] != $GLOBALS['config']['wmi']['modules'][$vars['toggle_poller']]) { del_dev_attrib($device, 'wmi_poll_' . $module); } elseif ($GLOBALS['config']['wmi']['modules'][$vars['toggle_poller']] == 0) { set_dev_attrib($device, 'wmi_poll_' . $module, "1"); } else { set_dev_attrib($device, 'wmi_poll_' . $module, "0"); } $attribs = get_dev_attribs($device['device_id']); } } } ?> <script type="text/javascript"> $(document).ready(function() { toggleDisable(); $("#wmi_override").change(function() {
$edac[$mc]['row']['unknown']['all']['ce'] = $matches[1]; } elseif (preg_match("/^csrow(.*): (.*) Uncorrected Errors\$/", $data, $matches)) { $edac[$mc]['row'][$matches[1]]['all']['ue'] = $matches[2]; } elseif (preg_match("/^csrow(.*): (.*): (.*) Corrected Errors\$/", $data, $matches)) { $edac[$mc]['row'][$matches[1]][$matches[2]]['ce'] = $matches[3]; $edac_name[$mc]['rowname'][$matches[1]][$matches[2]] = $matches[2]; } } set_dev_attrib($device, 'edac_rownames', serialize($edac_name)); $graphs['edac_errors'] = TRUE; foreach ($edac as $mc => $data) { foreach ($data['row'] as $row => $channels) { foreach ($channels as $channel => $errors) { foreach (array('ce', 'ue') as $errortype) { if (isset($errors[$errortype])) { $row_id = $row === 'unknown' ? 'unknown' : "csrow{$row}"; // Yes, ===, otherwise PHP thinks unknown means 0. $rrd_filename = "edac-errors-{$mc}-{$row_id}-{$channel}-{$errortype}.rrd"; rrdtool_create($device, $rrd_filename, " \\\n DS:errors:GAUGE:600:0:125000000000 "); rrdtool_update($device, $rrd_filename, "N:" . $errors[$errortype]); } } } } } } else { // No more EDAC app; remove row names from DB del_dev_attrib($device, 'edac_rownames'); } unset($edac, $edac_name); // EOF
<?php /** * Observium * * This file is part of Observium. * * @package observium * @subpackage poller * @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2016 Observium Limited * */ $version = snmp_get($device, 'productVersion.0', '-Ovq', 'GEIST-V4-MIB'); $hardware = 'Geist ' . snmp_get($device, 'productTitle.0', '-Ovq', 'GEIST-V4-MIB'); $ra_url_http = snmp_get($device, 'productUrl.0', '-Ovq', 'GEIST-V4-MIB'); // Can be either STRING or IpAddress, check for leading http:// if (substr($ra_url_http, 0, 7) != 'http://') { $ra_url_http = "http://{$ra_url_http}"; } if ($ra_url_http != '') { set_dev_attrib($device, 'ra_url_http', $ra_url_http); } else { del_dev_attrib($device, 'ra_url_http'); } // EOF
if (isSNMPable($device_tmp)) { $rows_updated = dbUpdate($update, 'devices', '`device_id` = ?', array($device['device_id'])); $max_repeaters_set = false; $max_oid_set = false; if (is_numeric($max_repeaters) && $max_repeaters != 0) { set_dev_attrib($device, 'snmp_max_repeaters', $max_repeaters); $max_repeaters_set = true; } else { del_dev_attrib($device, 'snmp_max_repeaters'); $max_repeaters_set = true; } if (is_numeric($max_oid) && $max_oid != 0) { set_dev_attrib($device, 'snmp_max_oid', $max_oid); $max_oid_set = true; } else { del_dev_attrib($device, 'snmp_max_oid'); $max_oid_set = true; } if ($rows_updated > 0) { $update_message = $rows_updated . ' Device record updated.'; $updated = 1; } elseif ($rows_updated = '-1') { if ($max_repeaters_set === true || $max_repeaters_set === true) { if ($max_repeaters_set === true) { $update_message = 'SNMP Max repeaters updated, no other changes made'; } if ($max_oid_set === true) { $update_message .= '<br />SNMP Max OID updated, no other changes made'; } } else { $update_message = 'Device record unchanged. No update necessary.';
<?php if (is_admin() === false) { die('ERROR: You need to be admin'); } // FUA $device['device_id'] = $_POST['device_id']; $module = 'poll_' . $_POST['poller_module']; if (!isset($module) && validate_device_id($device['device_id']) === false) { echo 'error with data'; exit; } else { if ($_POST['state'] == 'true') { $state = 1; } else { if ($_POST['state'] == 'false') { $state = 0; } else { $state = 0; } } if (isset($attribs['poll_' . $module]) && $attribs['poll_' . $module] != $config['poller_modules'][$module]) { del_dev_attrib($device, $module); } else { set_dev_attrib($device, $module, $state); } }
if (is_numeric($vars['ipmi_port'])) { set_dev_attrib($device, 'ipmi_port', $vars['ipmi_port']); } else { del_dev_attrib($device, 'ipmi_port'); } // We check interface & userlevel input from the dropdown against the allowed values in the definition array. if ($vars['ipmi_interface'] != '' && array_search($vars['ipmi_interface'], array_keys($config['ipmi']['interfaces'])) !== FALSE) { set_dev_attrib($device, 'ipmi_interface', $vars['ipmi_interface']); } else { del_dev_attrib($device, 'ipmi_interface'); print_error('Invalid interface specified (' . $vars['ipmi_interface'] . ').'); } if ($vars['ipmi_userlevel'] != '' && array_search($vars['ipmi_userlevel'], array_keys($config['ipmi']['userlevels'])) !== FALSE) { set_dev_attrib($device, 'ipmi_userlevel', $vars['ipmi_userlevel']); } else { del_dev_attrib($device, 'ipmi_userlevel'); print_error('Invalid user level specified (' . $vars['ipmi_userlevel'] . ').'); } $update_message = "Device IPMI data updated."; $updated = 1; } else { include "includes/error-no-perm.inc.php"; } } if ($updated && $update_message) { print_message($update_message); } elseif ($update_message) { print_error($update_message); } ?>
$ipmi_username = mres($_POST['ipmi_username']); $ipmi_password = mres($_POST['ipmi_password']); if ($ipmi_hostname != '') { set_dev_attrib($device, 'ipmi_hostname', $ipmi_hostname); } else { del_dev_attrib($device, 'ipmi_hostname'); } if ($ipmi_username != '') { set_dev_attrib($device, 'ipmi_username', $ipmi_username); } else { del_dev_attrib($device, 'ipmi_username'); } if ($ipmi_password != '') { set_dev_attrib($device, 'ipmi_password', $ipmi_password); } else { del_dev_attrib($device, 'ipmi_password'); } $update_message = 'Device IPMI data updated.'; $updated = 1; } else { include 'includes/error-no-perm.inc.php'; } //end if } //end if if ($updated && $update_message) { print_message($update_message); } else { if ($update_message) { print_error($update_message); }
/** * Observium Network Management and Monitoring System * Copyright (C) 2006-2014, Adam Armstrong - http://www.observium.org * * @package observium * @subpackage webui * @author Adam Armstrong <*****@*****.**> * @copyright (C) 2006-2015 Adam Armstrong * */ if ($vars['editing']) { if ($_SESSION['userlevel'] > "7") { $agent_port = $vars['agent_port']; if ($agent_port == "") { del_dev_attrib($device, 'agent_port'); $updated = 1; $update_message = "代理设置更新."; } elseif (!is_numeric($agent_port)) { $update_message = "代理端口必须是数字!"; $updated = 0; } else { set_dev_attrib($device, 'agent_port', $agent_port); $updated = 1; $update_message = "代理设置更新."; } } } $device = dbFetchRow("SELECT * FROM `devices` WHERE `device_id` = ?", array($device['device_id'])); $descr = $device['purpose']; if ($updated && $update_message) {
* */ if ($vars['editing']) { if ($_SESSION['userlevel'] > "7") { $updated = 0; $override_sysLocation_bool = $vars['override_sysLocation']; if (isset($vars['sysLocation'])) { $override_sysLocation_string = $vars['sysLocation']; } if (get_dev_attrib($device, 'override_sysLocation_bool') != $override_sysLocation_bool || get_dev_attrib($device, 'override_sysLocation_string') != $override_sysLocation_string) { $updated = 2; } if ($override_sysLocation_bool) { set_dev_attrib($device, 'override_sysLocation_bool', '1'); } else { del_dev_attrib($device, 'override_sysLocation_bool'); } if (isset($override_sysLocation_string)) { set_dev_attrib($device, 'override_sysLocation_string', $override_sysLocation_string); } # FIXME needs more sanity checking! and better feedback # FIXME -- update location too? Need to trigger geolocation! $param = array('purpose' => $vars['descr'], 'type' => $vars['type'], 'ignore' => $vars['ignore'], 'disabled' => $vars['disabled']); $rows_updated = dbUpdate($param, 'devices', '`device_id` = ?', array($device['device_id'])); if ($rows_updated > 0 || $updated) { if ((bool) $vars['ignore'] != (bool) $device['ignore']) { log_event('设备 ' . ((bool) $vars['ignore'] ? 'ignored' : 'attended') . ': ' . $device['hostname'], $device['device_id'], 'device', $device['device_id'], 5); } if ((bool) $vars['disabled'] != (bool) $device['disabled']) { log_event('设备 ' . ((bool) $vars['disabled'] ? 'disabled' : 'enabled') . ': ' . $device['hostname'], $device['device_id'], 'device'); }
del_dev_attrib($device, 'ipmi_username'); } if ($ipmi_password != '') { set_dev_attrib($device, 'ipmi_password', $ipmi_password); } else { del_dev_attrib($device, 'ipmi_password'); } if ($ipmi_interface != '') { set_dev_attrib($device, 'ipmi_interface', $ipmi_interface); } else { del_dev_attrib($device, 'ipmi_interface'); } if (is_numeric($ipmi_port)) { set_dev_attrib($device, 'ipmi_port', $ipmi_port); } else { del_dev_attrib($device, 'ipmi_port'); } $update_message = "Device IPMI data updated."; $updated = 1; } else { include "includes/error-no-perm.inc.php"; } } if ($updated && $update_message) { print_message($update_message); } elseif ($update_message) { print_error($update_message); } ?> <form id="edit" name="edit" method="post" action="" class="form-horizontal">