You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/features/api-integration.md
+2
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,8 @@ To learn more about this feature, check out the [webhooks documentation](../inte
36
36
37
37
To learn more about this feature, check out the [NAPALM documentation](../integrations/napalm.md).
38
38
39
+
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.
40
+
39
41
## Prometheus Metrics
40
42
41
43
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).
Copy file name to clipboardExpand all lines: docs/installation/3-netbox.md
-8
Original file line number
Diff line number
Diff line change
@@ -199,14 +199,6 @@ When you have finished modifying the configuration, remember to save the file.
199
199
200
200
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.
201
201
202
-
### NAPALM
203
-
204
-
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.
205
-
206
-
```no-highlight
207
-
sudo sh -c "echo 'napalm' >> /opt/netbox/local_requirements.txt"
208
-
```
209
-
210
202
### Remote File Storage
211
203
212
204
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`.
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.
4
-
5
-
The NetBox UI will display tabs for status, LLDP neighbors, and configuration under the device view if the following conditions are met:
6
-
7
-
* Device status is "Active"
8
-
* A primary IP has been assigned to the device
9
-
* A platform with a NAPALM driver has been assigned
10
-
* The authenticated user has the `dcim.napalm_read_device` permission
11
-
12
-
!!! note
13
-
To enable this integration, the NAPALM library must be installed. See [installation steps](../../installation/3-netbox/#napalm) for more information.
14
-
15
-
Below is an example REST API request and response:
16
-
17
-
```no-highlight
18
-
GET /api/dcim/devices/1/napalm/?method=get_environment
19
-
20
-
{
21
-
"get_environment": {
22
-
...
23
-
}
24
-
}
25
-
```
26
-
27
-
!!! note
28
-
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.
29
-
30
-
## Authentication
31
-
32
-
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.
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.
46
-
47
-
## Multiple Methods
48
-
49
-
It is possible to request the output of multiple NAPALM methods in a single API request by passing multiple `method` parameters. For example:
50
-
51
-
```no-highlight
52
-
GET /api/dcim/devices/1/napalm/?method=get_ntp_servers&method=get_ntp_peers
53
-
54
-
{
55
-
"get_ntp_servers": {
56
-
...
57
-
},
58
-
"get_ntp_peers": {
59
-
...
60
-
}
61
-
}
62
-
```
63
-
64
-
## Optional Arguments
65
-
66
-
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:
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.
0 commit comments