first commit
This commit is contained in:
92
docs/usage_tips/multi_server_configuration.md
Normal file
92
docs/usage_tips/multi_server_configuration.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# Multi-Server LibreNMS Configuration
|
||||
|
||||
## Overview
|
||||
|
||||
The NetBox LibreNMS plugin now supports multiple LibreNMS servers. This allows you to:
|
||||
|
||||
- Configure multiple LibreNMS instances in your NetBox configuration
|
||||
- Switch between different LibreNMS servers through the web interface
|
||||
- Maintain backward compatibility with single-server configurations
|
||||
|
||||
## Configuration
|
||||
|
||||
### Multi-Server Configuration
|
||||
|
||||
Update your NetBox `configuration.py` file:
|
||||
|
||||
```python
|
||||
PLUGINS_CONFIG = {
|
||||
'netbox_librenms_plugin': {
|
||||
'servers': {
|
||||
'production': {
|
||||
'display_name': 'Production LibreNMS',
|
||||
'librenms_url': 'https://librenms-prod.example.com',
|
||||
'api_token': 'your_production_token',
|
||||
'cache_timeout': 300,
|
||||
'verify_ssl': True,
|
||||
'interface_name_field': 'ifDescr'
|
||||
},
|
||||
'testing': {
|
||||
'display_name': 'Test LibreNMS',
|
||||
'librenms_url': 'https://librenms-test.example.com',
|
||||
'api_token': 'your_test_token',
|
||||
'cache_timeout': 300,
|
||||
'verify_ssl': False,
|
||||
'interface_name_field': 'ifName'
|
||||
},
|
||||
'development': {
|
||||
'display_name': 'Dev LibreNMS',
|
||||
'librenms_url': 'https://librenms-dev.example.com',
|
||||
'api_token': 'your_dev_token',
|
||||
'cache_timeout': 180,
|
||||
'verify_ssl': False,
|
||||
'interface_name_field': 'ifDescr'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Legacy Single-Server Configuration (Backward Compatible)
|
||||
|
||||
The original configuration format is still supported:
|
||||
|
||||
```python
|
||||
PLUGINS_CONFIG = {
|
||||
'netbox_librenms_plugin': {
|
||||
'librenms_url': 'https://your-librenms-instance.com',
|
||||
'api_token': 'your_librenms_api_token',
|
||||
'cache_timeout': 300,
|
||||
'verify_ssl': True,
|
||||
'interface_name_field': 'ifDescr'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
1. Navigate to **LibreNMS Plugin** > **Settings** > **Server Settings**
|
||||
2. Select your desired LibreNMS server from the dropdown
|
||||
3. Click **Save Settings**
|
||||
|
||||
All subsequent LibreNMS operations will use the selected server.
|
||||
|
||||
## Configuration Options
|
||||
|
||||
Each server configuration supports the following options:
|
||||
|
||||
- `display_name`: Human-readable name for the server (optional)
|
||||
- `librenms_url`: URL of the LibreNMS instance (required)
|
||||
- `api_token`: API token for authentication (required)
|
||||
- `cache_timeout`: Cache timeout in seconds (optional, default: 300)
|
||||
- `verify_ssl`: Whether to verify SSL certificates (optional, default: True)
|
||||
- `interface_name_field`: LibreNMS field for interface names (optional, default: 'ifDescr')
|
||||
|
||||
## Migration from Single to Multi-Server
|
||||
|
||||
1. Add the `servers` configuration block to your `configuration.py`
|
||||
2. Move your existing single-server configuration into a server block (e.g., 'default' or 'production')
|
||||
3. Restart NetBox
|
||||
4. Select your server in the plugin settings
|
||||
|
||||
The plugin will automatically detect and use the new configuration format.
|
||||
Reference in New Issue
Block a user