mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Added support for adding / editing with a poller group selected
This commit is contained in:
@@ -50,7 +50,8 @@ if ($_POST['hostname'])
|
||||
{
|
||||
print_error("Unsupported SNMP Version. There was a dropdown menu, how did you reach this error ?");
|
||||
}
|
||||
$result = addHost($hostname, $snmpver, $port, $transport);
|
||||
$poller_group = $_POST['poller_group'];
|
||||
$result = addHost($hostname, $snmpver, $port, $transport,0,$poller_group);
|
||||
if ($result)
|
||||
{
|
||||
print_message("Device added ($result)");
|
||||
@@ -186,8 +187,8 @@ if ($config['distributed_poller'] === TRUE) {
|
||||
<option value="0"> Default poller group</option>
|
||||
');
|
||||
|
||||
foreach (dbFetchRows("SELECT `id`,`poller_name` FROM `pollers`") as $poller) {
|
||||
echo '<option value="' . $poller['id'] . '">' . $poller['poller_name'] . '</option>';
|
||||
foreach (dbFetchRows("SELECT `id`,`group_name` FROM `poller_groups`") as $group) {
|
||||
echo '<option value="' . $group['id'] . '">' . $group['group_name'] . '</option>';
|
||||
}
|
||||
|
||||
echo('
|
||||
|
@@ -10,6 +10,7 @@ if ($_POST['editing'])
|
||||
$port = $_POST['port'] ? mres($_POST['port']) : $config['snmp']['port'];
|
||||
$timeout = mres($_POST['timeout']);
|
||||
$retries = mres($_POST['retries']);
|
||||
$poller_group = mres($_POST['poller_group']);
|
||||
$v3 = array (
|
||||
'authlevel' => mres($_POST['authlevel']),
|
||||
'authname' => mres($_POST['authname']),
|
||||
@@ -24,7 +25,8 @@ if ($_POST['editing'])
|
||||
'community' => $community,
|
||||
'snmpver' => $snmpver,
|
||||
'port' => $port,
|
||||
'transport' => $transport
|
||||
'transport' => $transport,
|
||||
'poller_group' => $poller_group
|
||||
);
|
||||
|
||||
if ($_POST['timeout']) { $update['timeout'] = $timeout; }
|
||||
@@ -169,6 +171,31 @@ echo(" </select>
|
||||
</div>
|
||||
</div>");
|
||||
|
||||
if ($config['distributed_poller'] === TRUE) {
|
||||
echo('
|
||||
<div class="form-group">
|
||||
<label for="poller_group" class="col-sm-2 control-label">Poller Group</label>
|
||||
<div class="col-sm-4">
|
||||
<select name="poller_group" id="poller_group" class="form-control input-sm">
|
||||
<option value="0"> Default poller group</option>
|
||||
');
|
||||
|
||||
foreach (dbFetchRows("SELECT `id`,`group_name` FROM `poller_groups`") as $group) {
|
||||
echo '<option value="' . $group['id'] . '"';
|
||||
if ($device['poller_group'] == $group['id']) {
|
||||
echo ' selected';
|
||||
}
|
||||
echo '>' . $group['group_name'] . '</option>';
|
||||
}
|
||||
|
||||
echo('
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
');
|
||||
}
|
||||
|
||||
|
||||
echo('
|
||||
<button type="submit" name="Submit" class="btn btn-default">Save</button>
|
||||
</form>
|
||||
|
@@ -266,7 +266,7 @@ function delete_device($id)
|
||||
return $ret;
|
||||
}
|
||||
|
||||
function addHost($host, $snmpver, $port = '161', $transport = 'udp', $quiet = '0')
|
||||
function addHost($host, $snmpver, $port = '161', $transport = 'udp', $quiet = '0', $poller_group = '0')
|
||||
{
|
||||
global $config;
|
||||
|
||||
@@ -315,7 +315,7 @@ function addHost($host, $snmpver, $port = '161', $transport = 'udp', $quiet = '0
|
||||
$snmphost = snmp_get($device, "sysName.0", "-Oqv", "SNMPv2-MIB");
|
||||
if (empty($snmphost) or ($snmphost == $host || $hostshort = $host))
|
||||
{
|
||||
$device_id = createHost ($host, NULL, $snmpver, $port, $transport, $v3);
|
||||
$device_id = createHost ($host, NULL, $snmpver, $port, $transport, $v3, $poller_group);
|
||||
return $device_id;
|
||||
} else {
|
||||
if($quiet == '0') {print_error("Given hostname does not match SNMP-read hostname ($snmphost)!"); }
|
||||
@@ -337,7 +337,7 @@ function addHost($host, $snmpver, $port = '161', $transport = 'udp', $quiet = '0
|
||||
$snmphost = snmp_get($device, "sysName.0", "-Oqv", "SNMPv2-MIB");
|
||||
if (empty($snmphost) || ($snmphost && ($snmphost == $host || $hostshort = $host)))
|
||||
{
|
||||
$device_id = createHost ($host, $community, $snmpver, $port, $transport);
|
||||
$device_id = createHost ($host, $community, $snmpver, $port, $transport,array(),$poller_group);
|
||||
return $device_id;
|
||||
} else {
|
||||
if($quiet == '0') { print_error("Given hostname does not match SNMP-read hostname ($snmphost)!"); }
|
||||
@@ -520,7 +520,7 @@ function utime()
|
||||
return $sec + $usec;
|
||||
}
|
||||
|
||||
function createHost($host, $community = NULL, $snmpver, $port = 161, $transport = 'udp', $v3 = array())
|
||||
function createHost($host, $community = NULL, $snmpver, $port = 161, $transport = 'udp', $v3 = array(), $poller_group='0')
|
||||
{
|
||||
$host = trim(strtolower($host));
|
||||
|
||||
@@ -530,7 +530,8 @@ function createHost($host, $community = NULL, $snmpver, $port = 161, $transport
|
||||
'port' => $port,
|
||||
'transport' => $transport,
|
||||
'status' => '1',
|
||||
'snmpver' => $snmpver
|
||||
'snmpver' => $snmpver,
|
||||
'poller_group' => $poller_group
|
||||
);
|
||||
|
||||
$device = array_merge($device, $v3);
|
||||
|
Reference in New Issue
Block a user