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