Closed usaiat closed 5 years ago
So in your config file you set the default model as procurve
in your router.db
file did you include the model of ios for those devices that are ios?
Thanks @shepherdjay. My router.db file only contain host-names or ip address of the device. So what will be the format I have to use for a device in my router.db file ? Do I have to do that for all the other types of device I have ? i.e Cisco (ios and nxos), Procurve/Aruba, Vyos, Ubiquiti Edge Router, pfSense
So the format of your router.db
file is this section
map:
name: 0
model: 1
username: 2
password: 3
vars_map:
enable: 4
It is a field to index map of how your router.db
looks so in this case it is expecting:
name:model:username:password:enable
Since you only contain hostnames it fills in the missing data with what you set globally. In this case you set the model to globally be inferred as procurve
Do I have to do that for all the other types of device I have ? i.e Cisco (ios and nxos), Procurve/Aruba, Vyos, Ubiquiti Edge Router, pfSense
Yes. Though to be honest if you are already using Librenms you can let it do all the hard work. Librenms can provide an http source instead of having to use a router.db
This is an example of the setup I am using in production:
source:
default: http
http:
url: http://librenmsfqdn/api/v0/oxidized
map:
name: hostname
ip: ip
model: os
group: group
headers:
X-Auth-Token: 'librenmsxauthtoken'
model_map:
ios: ios
iosxe: ios
iosxr: iosxr
nxos: nxos
juniper: junos
asa: asa
paloalto: panos
panos: panos
arubaos: aosw
For more information https://docs.librenms.org/Extensions/Oxidized/#feeding-oxidized
Much appreciated @shepherdjay I tried it out and lost my connection to my Oxidized page. This is my new setup:
username: username password: password model: procurve resolve_dns: true interval: 600 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: file file: directory: /home/oxidized/deviceconfig
source: default: http http: url: http://192.168.0.11/api/v0/oxidized map: name: hostname ip: ip model: os group: group headers: X-Auth-Token: '1805b5f18736280992dcbdfdfabb7ece' model_map: ios: ios iosxe: ios iosxr: iosxr nxos: nxos juniper: junos asa: asa paloalto: panos panos: panos
Never mind. Switch back to my initial configuration and manipulate the router.db files adding in the OS of each device and now its working(connected to all the listed device) showing up the right OS and I can see the configuration. Also reflected in LibreNMS on the Config tab of each listed device
However my versioning doesn't seem to be working. Made some changes in the configuration of one of the listed device to test but nothing show up. Anything I need to add to my setup ? I've got versioning enabled on LibreNMS
Your output needs to be GIT for Versioning.
Wohoo :) Thanks @shepherdjay Versioning works now. Much appreciated. Next step is to setup alerts for changes and who made the changes. Any tips on that will be highly appreciated
Any tips on that will be highly appreciated
I highly recommend starting with the Oxidized + Librenms integration documentation that Librenms puts out. It goes through a lot of what you are trying to do. Different config settings you need on both sides, etc.
https://docs.librenms.org/Extensions/Oxidized/
Read and fully understand that. Then google which has some decent integration guides.
If your all set though please go ahead and close this issue. Have a good one.
Thanks @shepherdjay
Been running LibreNMS for a while now monitoring my network device ranging from Cisco (ios and nxos), Procurve/Aruba, Vyos, Ubiquiti Edge Router, pfSense and other devices. Just recently found out about oxidized and follow the instruction here to install on a different server with its own router.db file with some cisco, procurve and vyos device manually added to the router.db file, then I integrate it to LibreNMS.
Its working for the Procurve devices, and not the other devices. Status on Oxidized says “no connection” and they all showing Procurve as the model. Also notice that the version doesnt show the difference in configuration after I test out some changes in the configuration of my procurve switches
I use RADIUS for authentication and a common service account for this. This is my oxdized configuration and any help will be really appreciated
username: username password: password model: procurve resolve_dns: true interval: 600 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: file file: directory: /home/oxidized/deviceconfig 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: juniper: junos cisco: ios