mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Merge pull request #2792 from Rosiak/reload-oxidized-node-list
Ability to reload Oxidized node list, when a device is added
This commit is contained in:
@@ -53,6 +53,14 @@ You will need to configure default credentials for your devices, LibreNMS doesn'
|
||||
X-Auth-Token: '01582bf94c03104ecb7953dsadsadwed'
|
||||
```
|
||||
|
||||
LibreNMS is able to reload the Oxidized list of nodes, each time a device is added to LibreNMS.
|
||||
To do so, edit the option in Global Settings>External Settings>Oxidized Integration or add the following to your config.php.
|
||||
|
||||
```php
|
||||
$config['oxidized']['reload_nodes'] = TRUE;
|
||||
|
||||
```
|
||||
|
||||
### Using Groups
|
||||
|
||||
To return a group to Oxidized you can do this by matching a regex for either hostname or location. The order is hostname is matched first, if nothing is found then location is attempted.
|
||||
|
||||
@@ -25,6 +25,10 @@ $oxidized_conf = array(
|
||||
'descr' => 'Set the default group returned',
|
||||
'type' => 'text',
|
||||
),
|
||||
array('name' => 'oxidized.reload_nodes',
|
||||
'descr' => 'Reload Oxidized nodes list, each time a device is added',
|
||||
'type' => 'checkbox',
|
||||
),
|
||||
);
|
||||
|
||||
$unixagent_conf = array(
|
||||
|
||||
@@ -473,6 +473,7 @@ $config['rancid_ignorecomments'] = 0;
|
||||
$config['smokeping']['pings'] = 20;
|
||||
// $config['oxidized']['enabled'] = FALSE;//Set to TRUE
|
||||
// $config['oxidized']['url'] = 'http://127.0.0.1:8888';// Set the Oxidized rest URL
|
||||
// $config['oxidized']['reload_nodes'] = FALSE;//Set to TRUE, check documentation
|
||||
// NFSen RRD dir.
|
||||
$config['nfsen_enable'] = 0;
|
||||
// $config['nfsen_split_char'] = "_";
|
||||
|
||||
@@ -580,6 +580,7 @@ function createHost($host, $community = NULL, $snmpver, $port = 161, $transport
|
||||
if (host_exists($host) === false) {
|
||||
$device_id = dbInsert($device, 'devices');
|
||||
if ($device_id) {
|
||||
oxidized_reload_nodes();
|
||||
return($device_id);
|
||||
}
|
||||
else {
|
||||
@@ -1302,3 +1303,20 @@ function warn_innodb_buffer($innodb_buffer) {
|
||||
$output .= 'Config proposal: "innodb_buffer_pool_size = '.pow(2,ceil(log(($innodb_buffer['used'] / 1024 / 1024),2))).'M"'.PHP_EOL;
|
||||
return $output;
|
||||
}
|
||||
|
||||
function oxidized_reload_nodes() {
|
||||
|
||||
global $config;
|
||||
|
||||
if ($config['oxidized']['enabled'] === TRUE && $config['oxidized']['reload_nodes'] === TRUE && isset($config['oxidized']['url'])) {
|
||||
$oxidized_reload_url = $config['oxidized']['url'] . '/reload';
|
||||
$ch = curl_init($oxidized_reload_url);
|
||||
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_HEADER, 1);
|
||||
curl_exec($ch);
|
||||
curl_close($ch);
|
||||
}
|
||||
}
|
||||
|
||||
1
sql-schema/090.sql
Normal file
1
sql-schema/090.sql
Normal file
@@ -0,0 +1 @@
|
||||
INSERT INTO config (config_name,config_value,config_default,config_descr,config_group,config_group_order,config_sub_group,config_sub_group_order,config_hidden,config_disabled) values ('oxidized.reload_nodes','false','false','Reload Oxidized nodes list, each time a device is added','external',0,'oxidized',0,'0','0');
|
||||
Reference in New Issue
Block a user