Commit version 24.12.13800
This commit is contained in:
@ -4,9 +4,9 @@
|
||||
*
|
||||
* This file is part of Observium.
|
||||
*
|
||||
* @package observium
|
||||
* @subpackage poller
|
||||
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2022 Observium Limited
|
||||
* @package observium
|
||||
* @subpackage poller
|
||||
* @copyright (C) Adam Armstrong
|
||||
*
|
||||
*/
|
||||
|
||||
@ -16,55 +16,56 @@ global $ipmi_sensors;
|
||||
include_once("includes/discovery/functions.inc.php");
|
||||
|
||||
$ipmi = [];
|
||||
if ($ipmi['host'] = get_dev_attrib($device,'ipmi_hostname')) {
|
||||
$ipmi['user'] = get_dev_attrib($device,'ipmi_username');
|
||||
$ipmi['password'] = get_dev_attrib($device,'ipmi_password');
|
||||
$ipmi['port'] = get_dev_attrib($device,'ipmi_port');
|
||||
$ipmi['interface'] = get_dev_attrib($device,'ipmi_interface');
|
||||
$ipmi['userlevel'] = get_dev_attrib($device,'ipmi_userlevel');
|
||||
if ($ipmi['host'] = get_dev_attrib($device, 'ipmi_hostname')) {
|
||||
$ipmi['user'] = get_dev_attrib($device, 'ipmi_username');
|
||||
$ipmi['password'] = get_dev_attrib($device, 'ipmi_password');
|
||||
$ipmi['port'] = get_dev_attrib($device, 'ipmi_port');
|
||||
$ipmi['interface'] = get_dev_attrib($device, 'ipmi_interface');
|
||||
$ipmi['userlevel'] = get_dev_attrib($device, 'ipmi_userlevel');
|
||||
|
||||
if (!is_valid_param($ipmi['port'], 'port')) {
|
||||
$ipmi['port'] = 623;
|
||||
}
|
||||
if (safe_empty($ipmi['userlevel'])) { $ipmi['userlevel'] = 'USER'; }
|
||||
if (!is_valid_param($ipmi['port'], 'port')) {
|
||||
$ipmi['port'] = 623;
|
||||
}
|
||||
if (safe_empty($ipmi['userlevel'])) {
|
||||
$ipmi['userlevel'] = 'USER';
|
||||
}
|
||||
|
||||
if (!array_key_exists($ipmi['interface'], (array)$config['ipmi']['interfaces'])) {
|
||||
// Also triggers on empty value
|
||||
$ipmi['interface'] = 'lan';
|
||||
}
|
||||
if (!array_key_exists($ipmi['interface'], (array)$config['ipmi']['interfaces'])) {
|
||||
// Also triggers on empty value
|
||||
$ipmi['interface'] = 'lan';
|
||||
}
|
||||
|
||||
$own_hostname = $config['own_hostname'] ?: get_localhost();
|
||||
$remote = '';
|
||||
if ($own_hostname !== $device['hostname'] &&
|
||||
!in_array($ipmi['host'], [ 'localhost', '127.0.0.1', '::1' ], TRUE)) {
|
||||
$own_hostname = $config['own_hostname'] ?: get_localhost();
|
||||
$remote = '';
|
||||
if ($own_hostname !== $device['hostname'] &&
|
||||
!in_array($ipmi['host'], ['localhost', '127.0.0.1', '::1'], TRUE)) {
|
||||
|
||||
$remote = " -I " . escapeshellarg($ipmi['interface']) . " -p " . $ipmi['port'] . " -H " .
|
||||
escapeshellarg($ipmi['host']) . " -L " . escapeshellarg($ipmi['userlevel']) .
|
||||
" -U " . escapeshellarg($ipmi['user']) . " -P " . escapeshellarg($ipmi['password']);
|
||||
}
|
||||
$remote = " -I " . escapeshellarg($ipmi['interface']) . " -p " . $ipmi['port'] . " -H " .
|
||||
escapeshellarg($ipmi['host']) . " -L " . escapeshellarg($ipmi['userlevel']) .
|
||||
" -U " . escapeshellarg($ipmi['user']) . " -P " . escapeshellarg($ipmi['password']);
|
||||
}
|
||||
|
||||
if(is_numeric($device['ipmi_ciper']) && $device['ipmi_ciper'] == '17')
|
||||
{
|
||||
$remote .= " -C ".$device['ipmi_cipher'];
|
||||
}
|
||||
if (is_numeric($device['ipmi_ciper']) && $device['ipmi_ciper'] == '17') {
|
||||
$remote .= " -C " . $device['ipmi_cipher'];
|
||||
}
|
||||
|
||||
$results = external_exec($config['ipmitool'] . $remote . " sensor 2>/dev/null");
|
||||
/*
|
||||
if (strlen($results))
|
||||
{
|
||||
$sdr = external_exec($config['ipmitool'] . $remote . " sdr 2>/dev/null");
|
||||
} else {
|
||||
$sdr = '';
|
||||
}
|
||||
*/
|
||||
$results = external_exec($config['ipmitool'] . $remote . " sensor 2>/dev/null");
|
||||
/*
|
||||
if (strlen($results))
|
||||
{
|
||||
$sdr = external_exec($config['ipmitool'] . $remote . " sdr 2>/dev/null");
|
||||
} else {
|
||||
$sdr = '';
|
||||
}
|
||||
*/
|
||||
|
||||
$ipmi_sensors = parse_ipmitool_sensor($device, $results);
|
||||
$ipmi_sensors = parse_ipmitool_sensor($device, $results);
|
||||
}
|
||||
|
||||
print_debug_vars($ipmi_sensors, 1);
|
||||
|
||||
foreach ($config['ipmi_unit'] as $type) {
|
||||
check_valid_sensors($device, $type, $ipmi_sensors, 'ipmi');
|
||||
check_valid_sensors($device, $type, $ipmi_sensors, 'ipmi');
|
||||
}
|
||||
|
||||
check_valid_status($device, $ipmi_sensors, 'ipmi');
|
||||
|
Reference in New Issue
Block a user