Centos7 - Oxidized

Hello,

I want to use oxidize to back up my devices. Getting the following error:

[@librenms ~]$ oxidized
I, [2018-08-01T08:54:00.085708 #26156] INFO – : Oxidized starting, running as pid 26156
I, [2018-08-01T08:54:00.086502 #26156] INFO – : lib/oxidized/nodes.rb: Loading nodes
E, [2018-08-01T08:54:00.088820 #26156] ERROR – : node {:name=>“x.x.x.x”, :model=>nil} raised Oxidized::ModelNotFound with message ‘cisco not found for node x.x.x.x’
I, [2018-08-01T08:54:00.088883 #26156] INFO – : lib/oxidized/nodes.rb: Loaded 0 nodes
F, [2018-08-01T08:54:00.088953 #26156] FATAL – : Oxidized crashed, crashfile written in /opt/librenms/.config/oxidized/crash
source returns no usable nodes

Can someone point me to the correct direction on what I’m doing wrong please?

You’ve got no nodes being loaded. The fact a cisco not found for node message is showing, seems like you’ve got the wrong os allocated to at least one node or the only node. You need to match the model/os to the ones Oxidized supports. Have a look at the docs in oxidized for this.

I was able to get the nodes to automatically load from libre. I’m getting a connection error. Not sure if is due to a credential issue or a misconfig. My devices ask for an enable password every time so not sure if that’s an issue.

[librenms@librenms ~]$ oxidized
Connection refused - connect(2)
/usr/share/ruby/net/http.rb:878:in initialize': Connection refused - connect(2) (Errno::ECONNREFUSED) from /usr/share/ruby/net/http.rb:878:inopen’
from /usr/share/ruby/net/http.rb:878:in block in connect' from /usr/share/ruby/timeout.rb:52:intimeout’
from /usr/share/ruby/net/http.rb:877:in connect' from /usr/share/ruby/net/http.rb:862:indo_start’
from /usr/share/ruby/net/http.rb:851:in start' from /usr/share/ruby/net/http.rb:1373:inrequest’
from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/source/http.rb:40:in load' from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/nodes.rb:15:inblock in load’
from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/nodes.rb:128:in synchronize' from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/nodes.rb:128:inwith_lock’
from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/nodes.rb:10:in load' from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/nodes.rb:123:ininitialize’
from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/core.rb:14:in new' from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/core.rb:14:ininitialize’
from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/core.rb:4:in new' from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/core.rb:4:innew’
from /usr/local/share/gems/gems/oxidized-0.24.0/lib/oxidized/cli.rb:12:in run' from /usr/local/share/gems/gems/oxidized-0.24.0/bin/oxidized:8:in<top (required)>’
from /usr/local/bin/oxidized:23:in load' from /usr/local/bin/oxidized:23:in

username: ###### <-- using my device login creds
password: ######
model: cisco
interval: 3600
use_syslog: true
debug: true
threads: 30
timeout: 20
retries: 3
prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/
rest: 127.0.0.1:8888
next_adds_job: false
vars: {}
groups: {}
models: {}
pid: /opt/librenms/.config/oxidized/pid
input:
default: ssh
debug: false
ssh:
secure: true
output:
default: file
source:
default: http
http:
url: https://librenms/api/v0/oxidized
map:
name: hostname
model: os
group: group
headers:
X-Auth-Token: ‘deleted’

Oxidized can’t connect to your librenms install, firewall, wrong config, librenms is down?

The issue I was seeing was due to dependencies missing. I got it all squared away. The issue I see now is that it’s not pulling the actual start-up config or running-config from my cisco devices. Any idea why it’s not? I checked ./scripts/syslog-notify-oxidized.php and all seems to be as per the document.

Usually timeout, if it takes a while to run show run on this device or it’s a distant device so latency is high try increasing the timeout in oxidized.

Otherwise enable oxidized debugging and pastebin the output.

See logs below. The show-running configuration is executed but it does not display in the webGUI.

D, [2018-08-17T09:06:13.476711 #12736] DEBUG – : lib/oxidized/worker.rb: Jobs running: 0 of 1 - ended: 1 of 43
D, [2018-08-17T09:06:13.478011 #12736] DEBUG – : lib/oxidized/job.rb: Starting fetching process for 10.0.20.17 at 2018-08-17 16:06:13 UTC
D, [2018-08-17T09:06:13.478521 #12736] DEBUG – : AUTH METHODS::[“none”, “publickey”, “password”]
D, [2018-08-17T09:06:13.478730 #12736] DEBUG – : lib/oxidized/input/ssh.rb: Connecting to 10.0.20.17
D, [2018-08-17T09:06:13.477082 #12736] DEBUG – : lib/oxidized/worker.rb: Added 10.0.20.17 to the job queue
D, [2018-08-17T09:06:13.481349 #12736] DEBUG – : lib/oxidized/worker.rb: 1 jobs running in parallel
D, [2018-08-17T09:06:14.128952 #12736] DEBUG – : lib/oxidized/input/ssh.rb: expecting [/^([\w.@()-]+[#>]\s?)$/] at 10.0.20.17
D, [2018-08-17T09:06:14.503382 #12736] DEBUG – : lib/oxidized/worker.rb: 1 jobs running in parallel
D, [2018-08-17T09:06:15.037715 #12736] DEBUG – : lib/oxidized/input/cli.rb: Running post_login commands at 10.0.20.17
D, [2018-08-17T09:06:15.037929 #12736] DEBUG – : lib/oxidized/input/cli.rb: Running post_login command: “terminal length 0”, block: nil at 10.0.20.17
D, [2018-08-17T09:06:15.038017 #12736] DEBUG – : lib/oxidized/input/ssh.rb terminal length 0 @ 10.0.20.17 with expect: /^([\w.@()-]+[#>]\s?)$/
D, [2018-08-17T09:06:15.038436 #12736] DEBUG – : lib/oxidized/input/ssh.rb: expecting [/^([\w.@()-]+[#>]\s?)$/] at 10.0.20.17
D, [2018-08-17T09:06:15.506200 #12736] DEBUG – : lib/oxidized/worker.rb: 1 jobs running in parallel
D, [2018-08-17T09:06:15.516533 #12736] DEBUG – : lib/oxidized/input/cli.rb: Running post_login command: “terminal width 0”, block: nil at 10.0.20.17
D, [2018-08-17T09:06:15.516767 #12736] DEBUG – : lib/oxidized/input/ssh.rb terminal width 0 @ 10.0.20.17 with expect: /^([\w.@()-]+[#>]\s?)$/
D, [2018-08-17T09:06:15.517184 #12736] DEBUG – : lib/oxidized/input/ssh.rb: expecting [/^([\w.@()-]+[#>]\s?)$/] at 10.0.20.17
D, [2018-08-17T09:06:15.956196 #12736] DEBUG – : lib/oxidized/model/model.rb Collecting commands’ outputs
D, [2018-08-17T09:06:15.956476 #12736] DEBUG – : lib/oxidized/model/model.rb Executing show version
D, [2018-08-17T09:06:15.956584 #12736] DEBUG – : lib/oxidized/input/ssh.rb show version @ 10.0.20.17 with expect: /^([\w.@()-]+[#>]\s?)$/
D, [2018-08-17T09:06:15.956792 #12736] DEBUG – : lib/oxidized/input/ssh.rb: expecting [/^([\w.@()-]+[#>]\s?)$/] at 10.0.20.17
D, [2018-08-17T09:06:16.518877 #12736] DEBUG – : lib/oxidized/worker.rb: 1 jobs running in parallel
D, [2018-08-17T09:06:16.594212 #12736] DEBUG – : lib/oxidized/model/model.rb Executing show vtp status
D, [2018-08-17T09:06:16.594407 #12736] DEBUG – : lib/oxidized/input/ssh.rb show vtp status @ 10.0.20.17 with expect: /^([\w.@()-]+[#>]\s?)$/
D, [2018-08-17T09:06:16.594694 #12736] DEBUG – : lib/oxidized/input/ssh.rb: expecting [/^([\w.@()-]+[#>]\s?)$/] at 10.0.20.17
D, [2018-08-17T09:06:17.026986 #12736] DEBUG – : lib/oxidized/model/model.rb Executing show inventory
D, [2018-08-17T09:06:17.027130 #12736] DEBUG – : lib/oxidized/input/ssh.rb show inventory @ 10.0.20.17 with expect: /^([\w.@()-]+[#>]\s?)$/
D, [2018-08-17T09:06:17.027615 #12736] DEBUG – : lib/oxidized/input/ssh.rb: expecting [/^([\w.@()-]+[#>]\s?)$/] at 10.0.20.17
D, [2018-08-17T09:06:17.446461 #12736] DEBUG – : lib/oxidized/model/model.rb Executing show running-config
D, [2018-08-17T09:06:17.446678 #12736] DEBUG – : lib/oxidized/input/ssh.rb show running-config @ 10.0.20.17 with expect: /^([\w.@()-]+[#>]\s?)$/
D, [2018-08-17T09:06:17.446986 #12736] DEBUG – : lib/oxidized/input/ssh.rb: expecting [/^([\w.@()-]+[#>]\s?)$/] at 10.0.20.17
D, [2018-08-17T09:06:17.520843 #12736] DEBUG – : lib/oxidized/worker.rb: 1 jobs running in parallel
D, [2018-08-17T09:06:17.859731 #12736] DEBUG – : lib/oxidized/input/cli.rb Running pre_logout commands at 10.0.20.17
D, [2018-08-17T09:06:17.859909 #12736] DEBUG – : lib/oxidized/input/ssh.rb exit @ 10.0.20.17 with expect: nil
D, [2018-08-17T09:06:17.968916 #12736] DEBUG – : lib/oxidized/node.rb: Oxidized::SSH ran for 10.0.20.17 successfully
D, [2018-08-17T09:06:17.969119 #12736] DEBUG – : lib/oxidized/job.rb: Config fetched for 10.0.20.17 at 2018-08-17 16:06:17 UTC
I, [2018-08-17T09:06:18.522453 #12736] INFO – : Configuration updated for /10.0.20.17

Do you have git output set and if so, does the full config file make it into git.

Have you installed oxidized-web?

If so check if the config is pulled in there correctly.

I’m not using git. I’m having the devices back locally but would like to be able to see the configs in the web GUI.

I did. See captures below. I know it’s running and executing show running config but can’t figure out why I can’t see it in the GUI.

This is my config.

username: -----
password: -------
model: cisco
interval: 3600
use_syslog: true
debug: true
threads: 30
timeout: 60
retries: 3
prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/
rest: 127.0.0.1:8888
next_adds_job: false
vars: {}
groups: {}
input:
default: ssh, telnet
debug: false
ssh:
secure: false
output:
file:
directory: ‘/opt/librenms/.config/oxidized/configs’
source:
default: http
debug: false
http:
url: http://-----/api/v0/oxidized
map:
name: hostname
model: os
group: group
headers:
X-Auth-Token: -------
~

Check in the actual oxidized web ui (Not librenms) that you see or don’t see the config

Hey Laf, thanks for the support. After further debugging it turns out to be a permissions issue on my end. I have it all squared away and Oxidized is capturing and displaying the full running-config. Issue is resolved.