Oxidized Cisco, Procurve/Aruba, Vyos and Ubiquiti

Got this working now with the right device OS and versioning. For starters like me using Ubuntu 18.04.3 LTS here is my step by step instruction and hoping it’ll help someone out there:

  1. On Ubuntu, begin by enabling the universe repository if you have to
    #add-apt-repository universe
  2. Install the dependencies:
    #apt-get install ruby ruby-dev libsqlite3-dev libssl-dev pkg-config cmake libssh2-1-dev libicu-dev zlib1g-dev g++
  3. Finally, install the gems:
    #gem install oxidized
    #gem install oxidized-script oxidized-web
  4. It is recommended not to run Oxidized as root. Add oxidized user:
    #useradd oxidized
  5. Create a home directory for the oxidized user:
    #sudo mkdir /home/oxidized
    #sudo chown -R oxidized:oxidized /home/oxidized
  6. Switch user to oxidized:
    su – oxidized
  7. On $ prompt run $ oxidized with no arguments. This creates a /home/oxidized/.config/oxidized/ directory with a sample configuration in it.
  8. On $ make a directory to store configuration it will download
    $ mkdir /home/oxidized/deviceconfigs
  9. Edit /home/oxidized/.config/oxidized/config
    $ nano /home/oxidized/.config/oxidized/config

username: username

password: password

model: procurve

resolve_dns: true

interval: 3600

use_syslog: false

debug: false

threads: 30

timeout: 20

retries: 3

prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/

rest: 0.0.0.0:8888

next_adds_job: false

vars: {}

groups: {}

models: {}

pid: “/home/oxidized/.config/oxidized/pid”

crash:

directory: “/home/oxidized/.config/oxidized/crashes”

hostnames: false

stats:

history_size: 10

input:

default: ssh, telnet

debug: false

ssh:

secure: false

ftp:

passive: true

utf8_encoded: true

output:

default: git

git:

user: oxidized

email: [email protected]

repo: “/home/oxidized/.config/oxidized/oxidized.git”

source:

default: csv

csv:

file: “/home/oxidized/.config/oxidized/router.db”

delimiter: !ruby/regexp /:confused:

map:

name: 0

model: 1

username: 2

password: 3

vars_map:

enable: 4

model_map:

ios: ios

iosxe: ios

iosxr: iosxr

nxos: nxos

juniper: junos

asa: asa

  1. Create /home/oxidized/.config/oxidized/router.db and make it look something like this depending on the os of your device:
    x.x.x.x:ios

x.x.x.x:procurve

x.x.x.x:vyatta

x.x.x.x:edgeos

  1. Copy the oxidized.services file from extras to /lib/systemd/system/
    #cp /var/lib/gems/2.5.0/gems/oxidized-0.27.0/extra/oxidized.service /lib/systemd/system

  2. Set the service to start at boot
    #sudo systemctl enable oxidized.service

Restart oxidized
#systemctl restart oxidized.service

For LibreNMS integration edit my /opt/librenms/config.php and add in the following:

Integration of Oxidized

$config[‘oxidized’][‘enabled’] = TRUE;

$config[‘oxidized’][‘url’] = ‘http://oxidizedserverip:8888’;

$config[‘oxidized’][‘features’][‘versioning’] = true;

$config[‘oxidized’][‘default_group’] = ‘default’;

$config[‘oxidized’][‘reload_nodes’] = true;

$config[‘oxidized’][‘ignore_types’] = array(‘server’,‘power’,‘storage’,‘wireless’,‘workstation’);

$config[‘oxidized’][‘ignore_os’] = array(‘linux’,‘windows’);

2 Likes