mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-26 17:26:10 -06:00
10520 update docs
This commit is contained in:
parent
c279cfc720
commit
7e68cb9fda
@ -1,5 +1,7 @@
|
|||||||
# NAPALM Parameters
|
# NAPALM Parameters
|
||||||
|
|
||||||
|
!!! **Note:** As of NetBox v3.5, NAPALM integration has been moved to a plugin and these configuration parameters are now deprecated.
|
||||||
|
|
||||||
## NAPALM_USERNAME
|
## NAPALM_USERNAME
|
||||||
|
|
||||||
## NAPALM_PASSWORD
|
## NAPALM_PASSWORD
|
||||||
|
@ -36,6 +36,8 @@ To learn more about this feature, check out the [webhooks documentation](../inte
|
|||||||
|
|
||||||
To learn more about this feature, check out the [NAPALM documentation](../integrations/napalm.md).
|
To learn more about this feature, check out the [NAPALM documentation](../integrations/napalm.md).
|
||||||
|
|
||||||
|
As of NetBox v3.5, NAPALM integration has been moved to a plugin. Please see the [netbox_napalm_plugin](https://github.com/netbox-community/netbox-napalm) for installation instructions.
|
||||||
|
|
||||||
## Prometheus Metrics
|
## Prometheus Metrics
|
||||||
|
|
||||||
NetBox includes a special `/metrics` view which exposes metrics for a [Prometheus](https://prometheus.io/) scraper, powered by the open source [django-prometheus](https://github.com/korfuri/django-prometheus) library. To learn more about this feature, check out the [Prometheus metrics documentation](../integrations/prometheus-metrics.md).
|
NetBox includes a special `/metrics` view which exposes metrics for a [Prometheus](https://prometheus.io/) scraper, powered by the open source [django-prometheus](https://github.com/korfuri/django-prometheus) library. To learn more about this feature, check out the [Prometheus metrics documentation](../integrations/prometheus-metrics.md).
|
||||||
|
@ -199,14 +199,6 @@ When you have finished modifying the configuration, remember to save the file.
|
|||||||
|
|
||||||
All Python packages required by NetBox are listed in `requirements.txt` and will be installed automatically. NetBox also supports some optional packages. If desired, these packages must be listed in `local_requirements.txt` within the NetBox root directory.
|
All Python packages required by NetBox are listed in `requirements.txt` and will be installed automatically. NetBox also supports some optional packages. If desired, these packages must be listed in `local_requirements.txt` within the NetBox root directory.
|
||||||
|
|
||||||
### NAPALM
|
|
||||||
|
|
||||||
Integration with the [NAPALM automation](../integrations/napalm.md) library allows NetBox to fetch live data from devices and return it to a requester via its REST API. The `NAPALM_USERNAME` and `NAPALM_PASSWORD` configuration parameters define the credentials to be used when connecting to a device.
|
|
||||||
|
|
||||||
```no-highlight
|
|
||||||
sudo sh -c "echo 'napalm' >> /opt/netbox/local_requirements.txt"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Remote File Storage
|
### Remote File Storage
|
||||||
|
|
||||||
By default, NetBox will use the local filesystem to store uploaded files. To use a remote filesystem, install the [`django-storages`](https://django-storages.readthedocs.io/en/stable/) library and configure your [desired storage backend](../configuration/system.md#storage_backend) in `configuration.py`.
|
By default, NetBox will use the local filesystem to store uploaded files. To use a remote filesystem, install the [`django-storages`](https://django-storages.readthedocs.io/en/stable/) library and configure your [desired storage backend](../configuration/system.md#storage_backend) in `configuration.py`.
|
||||||
|
@ -1,74 +1,3 @@
|
|||||||
# NAPALM
|
# NAPALM
|
||||||
|
|
||||||
NetBox supports integration with the [NAPALM automation](https://github.com/napalm-automation/napalm) library. NAPALM allows NetBox to serve a proxy for operational data, fetching live data from network devices and returning it to a requester via its REST API. Note that NetBox does not store any NAPALM data locally.
|
As of NetBox v3.5, NAPALM integration has been moved to a plugin. Please see the [netbox_napalm_plugin](https://github.com/netbox-community/netbox-napalm) for installation instructions. **Note:** All previously entered NAPALM configuration data will be saved and automatically imported by the new plugin.
|
||||||
|
|
||||||
The NetBox UI will display tabs for status, LLDP neighbors, and configuration under the device view if the following conditions are met:
|
|
||||||
|
|
||||||
* Device status is "Active"
|
|
||||||
* A primary IP has been assigned to the device
|
|
||||||
* A platform with a NAPALM driver has been assigned
|
|
||||||
* The authenticated user has the `dcim.napalm_read_device` permission
|
|
||||||
|
|
||||||
!!! note
|
|
||||||
To enable this integration, the NAPALM library must be installed. See [installation steps](../../installation/3-netbox/#napalm) for more information.
|
|
||||||
|
|
||||||
Below is an example REST API request and response:
|
|
||||||
|
|
||||||
```no-highlight
|
|
||||||
GET /api/dcim/devices/1/napalm/?method=get_environment
|
|
||||||
|
|
||||||
{
|
|
||||||
"get_environment": {
|
|
||||||
...
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
!!! note
|
|
||||||
To make NAPALM requests via the NetBox REST API, a NetBox user must have assigned a permission granting the `napalm_read` action for the device object type.
|
|
||||||
|
|
||||||
## Authentication
|
|
||||||
|
|
||||||
By default, the [`NAPALM_USERNAME`](../configuration/napalm.md#napalm_username) and [`NAPALM_PASSWORD`](../configuration/napalm.md#napalm_password) configuration parameters are used for NAPALM authentication. They can be overridden for an individual API call by specifying the `X-NAPALM-Username` and `X-NAPALM-Password` headers.
|
|
||||||
|
|
||||||
```
|
|
||||||
$ curl "http://localhost/api/dcim/devices/1/napalm/?method=get_environment" \
|
|
||||||
-H "Authorization: Token $TOKEN" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-H "Accept: application/json; indent=4" \
|
|
||||||
-H "X-NAPALM-Username: foo" \
|
|
||||||
-H "X-NAPALM-Password: bar"
|
|
||||||
```
|
|
||||||
|
|
||||||
## Method Support
|
|
||||||
|
|
||||||
The list of supported NAPALM methods depends on the [NAPALM driver](https://napalm.readthedocs.io/en/latest/support/index.html#general-support-matrix) configured for the platform of a device. Because there is no granular mechanism in place for limiting potentially disruptive requests, NetBox supports only read-only [get](https://napalm.readthedocs.io/en/latest/support/index.html#getters-support-matrix) methods.
|
|
||||||
|
|
||||||
## Multiple Methods
|
|
||||||
|
|
||||||
It is possible to request the output of multiple NAPALM methods in a single API request by passing multiple `method` parameters. For example:
|
|
||||||
|
|
||||||
```no-highlight
|
|
||||||
GET /api/dcim/devices/1/napalm/?method=get_ntp_servers&method=get_ntp_peers
|
|
||||||
|
|
||||||
{
|
|
||||||
"get_ntp_servers": {
|
|
||||||
...
|
|
||||||
},
|
|
||||||
"get_ntp_peers": {
|
|
||||||
...
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Optional Arguments
|
|
||||||
|
|
||||||
The behavior of NAPALM drivers can be adjusted according to the [optional arguments](https://napalm.readthedocs.io/en/latest/support/index.html#optional-arguments). NetBox exposes those arguments using headers prefixed with `X-NAPALM-`. For example, the SSH port is changed to 2222 in this API call:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ curl "http://localhost/api/dcim/devices/1/napalm/?method=get_environment" \
|
|
||||||
-H "Authorization: Token $TOKEN" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-H "Accept: application/json; indent=4" \
|
|
||||||
-H "X-NAPALM-port: 2222"
|
|
||||||
```
|
|
||||||
|
Loading…
Reference in New Issue
Block a user