mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* fix a few bare URLs * make mdl happy * make Weathermap.md as mdl happy as possible * make Varnish.md as mdl happy as possible * make Two-Factor-Auth.md mdl happy * touch one header for Syslog.md, but little can be done about the rest * make Sub-Directory.md as mdl happy as possible * make SNMP-Trap-Handler.md lint happy * make SNMP-Proxy.md mdl happy * make Smokeping.md as mdl happy as possible * make Services.md mdl happy * make RRDTune.md mdl happy * cleanup RRDCached.md as much as possible * make RRDCached-Security.md mdl happy * make Rancid.md as mdl happy as possible * make Proxmox.md mdl happy * make Plugin-System.md as mdl happy as possible * make PeeringDB.md mdl happy * make Oxidized.md more lint happy * make Network-Map.md mdl happy * make MIB-based-polling.md as mdl happy as possible * make Metric-Storage.md mdl happy * make IRC-Bot.md as mdl happy as possible * make IRC-Bot-Extensions.md as mdl happy as possible * make * make Graylog.md mdl happy * make Gateone.md mdl happy * make Fast-Ping-Check.md mdl happy * make Distributed-Poller.md as mdl happy as possible * make Dispatcher-Service.md as mdl happy as possible * make Device-Groups.md mdl happy * make Dell-OpenManage.md mdl happy * make Dashboard.md mdl happy * make Customizing-the-Web-UI.md as mdl happy as possible * make Component.md mdl happy * make Billing-Module.md mdl happy * make Auto-Discovery.md mostly mdl happy * make Authentication.md as mdl happy as possible * tidy up a few lines in Applications.md * make Agent-Setup.md as mdl happy as possible * make metrics/OpenTSDB.md mdl happy * spelling fix
88 lines
2.5 KiB
Markdown
88 lines
2.5 KiB
Markdown
source: Extensions/Interface-Description-Parsing.md
|
|
path: blob/master/doc/
|
|
|
|
# About
|
|
|
|
Librenms can interpret, display and group certain additional information on ports.
|
|
This is done based on the format that the port description is written
|
|
although it's possible to customise the parser to be specific for your setup.
|
|
|
|
# Keywords
|
|
|
|
See [examples](#examples) for formats.
|
|
|
|
- **Keywords**
|
|
- `Cust` - Customer
|
|
- `Transit` - Transit link
|
|
- `Peering` - Peering link
|
|
- `Core` - Infrastructure link (non-customer)
|
|
- Info-keywords
|
|
- `()` contains a note
|
|
- `{}` contains *your* circuit id
|
|
- `[]` contains the service type or speed
|
|
|
|
# Examples
|
|
|
|
Cisco IOS / NXOS / IOSXR:
|
|
|
|
```text
|
|
interface Gi0/1
|
|
descr Transit: Example Provider (AS65000)
|
|
interface Gi0/2
|
|
descr Peering: Peering Exchange
|
|
interface Gi0/3
|
|
descr Core: core.router01 FastEthernet0/0 (Telco X CCID023141)
|
|
interface Gi0/4
|
|
descr Cust: Example Customer [10Mbit] (T1 Telco Y CCID129031) {EXAMP0001}
|
|
```
|
|
|
|
Unix / Linux:
|
|
|
|
This requires an additional script to be [setup](#setup)
|
|
|
|
```text
|
|
# eth3: Cust: Example Customer [10Mbit] (T1 Telco Y CCID129031) {EXAMP0001}
|
|
# eth0: Transit: Example Provider (AS65000)
|
|
# eth1: Core: core.router01 FastEthernet0/0 (Telco X CCID023141)
|
|
# eth2: Peering: Peering Exchange
|
|
```
|
|
|
|
# Customisation
|
|
|
|
The following config options can be set to enable more custom types:
|
|
|
|
```php
|
|
$config['customers_descr'][] = 'cust';
|
|
$config['transit_descr'][] = "transit";
|
|
$config['peering_descr'][] = "peering";
|
|
$config['core_descr'][] = "core";
|
|
$config['custom_descr'][] = "something_made_up";
|
|
```
|
|
|
|
# Custom interface parser
|
|
|
|
It's also possible to write your own parser, the existing one is: includes/port-descr-parser.inc.php
|
|
|
|
Once you've created your own then you can enable it with:
|
|
|
|
```php
|
|
$config['port_descr_parser'] = "includes/custom/my-port-descr-parser.inc.php";
|
|
```
|
|
|
|
## Setup
|
|
|
|
For Unix / Linux based systems, you need to run an additional script
|
|
to support the parsing of interface infor.
|
|
|
|
- Add `ifAlias` from `/opt/librenms/scripts/` or download it from
|
|
[here](https://github.com/librenms/librenms/blob/master/scripts/ifAlias)
|
|
to the Server and make it executable `chmod +x /path/to/ifAlias`
|
|
- Add to `snmpd.conf` something like:
|
|
``pass .1.3.6.1.2.1.31.1.1.1.18 /path/to/ifAlias``
|
|
Restart `snmpd` - `service snmpd restart`
|
|
|
|
There are no changes to be made or additions to install for the polling librenms.
|
|
|
|
Now you can set up your [keywords](#keywords) in your `/etc/network/interfaces`
|
|
``//Add more distributions than just Debian based``
|