LibreNMS not showing Oxidized Configs or Diffs

Hi,

I’ve got Oxidized and LibreNMS installed on the same server. Oxidized is successfully pulling configs and these are viewable in the Oxidized web UI and via the API, complete with the ability to diff the versions and so on. This suggests to me that the Oxidized side is correctly configured.

When I go to the configs page on LibreNMS and click “Show version” or “Show diff”, the page just reloads without giving me any errors or the configs. There are no errors in the browser console and my ./validate.php has no errors (though my chowns seem to change fairly regularly causing a fail, though fixing these doesn’t have any effect on oxidized). There are also no errors in the Apache log.

When I click the refresh button on LibreNMS, Oxidized does cause the device to fetch new configs, so the API integration is clearly working, but why I can’t see the configs, I don’t know.

Screenshot of all I have on my config screen. This doesn’t change no matter what button I press.

[[email protected] librenms]# ./validate.php

Component Version
LibreNMS 1.56-3-g74724a4
DB Schema 2019_09_29_114433_change_default_mempool_perc_warn_in_mempools_table (142)
PHP 7.3.10
MySQL 10.4.8-MariaDB
RRDTool 1.4.8
SNMP NET-SNMP 5.7.2

====================================

[OK] Composer Version: 1.9.0
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct

Paste of my Oxidized config:

I couldn’t upload this in the original post because my account is new, but here is the Oxidized integration settings. I don’t really want to feed data back into Oxidized since my use case is small enough to be able to use a routers.db file.

whats versions are you running?
gem list | grep oxidized

Can you try a different browser just to rule that out.

Hi Chas,

For some reason gem list doesn’t actually list oxidized though it is in the gem folder as shown in the outputs below:

[[email protected] gems]# pwd
/opt/rh/rh-ruby23/root/usr/local/share/gems/gems
[[email protected] gems]# ls -la | grep oxidized
drwxr-xr-x. 7 root root 4096 Sep 30 13:11 oxidized-0.26.3
drwxr-xr-x. 4 root root 4096 Sep 30 13:12 oxidized-script-0.6.0
drwxr-xr-x. 3 root root 4096 Sep 30 13:12 oxidized-web-0.13.1

I have tested in Chrome and Internet Explorer and no luck. :frowning:

do you have an oxidized user? gem list is tied to each user account

I do, but it doesn’t appear in there either. It’s weird because it still works and I installed it using this guide: https://github.com/ytti/oxidized#centos-oracle-linux-red-hat-linux

So it really should be coming up in either root’s gem list or oxidized’s, since those are the only two accounts I used in setup.

I should’ve mentioned that I’m on CentOS 7.7.1908 as well, though I had the same problem when I installed it in a test environment running CentOS 7.6.1810.

Hmm i’m pretty sure you should see something there, but im not too great with ruby.

I saw on an oxidized github issue where someone couldn’t show diffs and show ver from librenms because they were missing gem packages, so that might relate to this somehow.

I would try gem install oxidized oxidized-web again, does it say its installed?

output of gem env?

maybe gem using wrong ruby version ?

I just realised I needed to do the scl enable rh-ruby23 bash command and that dropped me to the correct version of Ruby which shows oxidized as installed.

When I installed oxidized, I had some issues daemonising it because of this and the workaround I found for it was to set the following environment variable LD_LIBRARY_PATH=/opt/rh/rh-ruby23/root/usr/local/lib64:/opt/rh/rh-ruby23/root/usr/lib64

Perhaps I should be symlinking /usr/bin/ruby to the Ruby 2.3 version I’m using for oxidized?

Tried the symlink trick but no luck, still won’t load my configs.

gem install lets me install oxidized even though it appears in the list now (with the correct scl command). Restarted httpd and oxidized after doing the below as well but no dice.

[[email protected] ~]# gem install oxidized
Successfully installed oxidized-0.26.3
Parsing documentation for oxidized-0.26.3
Done installing documentation for oxidized after 34 seconds
1 gem installed
[[email protected] ~]# gem install oxidized-web
Successfully installed oxidized-web-0.13.1
Parsing documentation for oxidized-web-0.13.1
Done installing documentation for oxidized-web after 0 seconds
1 gem installed

[[email protected] ~]# gem env
RubyGems Environment:

  • RUBYGEMS VERSION: 2.5.2.3
  • RUBY VERSION: 2.3.8 (2018-10-18 patchlevel 459) [x86_64-linux]
  • INSTALLATION DIRECTORY: /opt/oxidized/.gem/ruby
  • USER INSTALLATION DIRECTORY: /opt/oxidized/.gem/ruby
  • RUBY EXECUTABLE: /opt/rh/rh-ruby23/root/usr/bin/ruby
  • EXECUTABLE DIRECTORY: /opt/oxidized/bin
  • SPEC CACHE DIRECTORY: /opt/oxidized/.gem/specs
  • SYSTEM CONFIGURATION DIRECTORY: /etc/opt/rh/rh-ruby23
  • RUBYGEMS PLATFORMS:
    • ruby
    • x86_64-linux
  • GEM PATHS:
    • /opt/oxidized/.gem/ruby
    • /opt/rh/rh-ruby23/root/usr/share/gems
    • /opt/rh/rh-ruby23/root/usr/local/share/gems
  • GEM CONFIGURATION:
    • :update_sources => true
    • :verbose => true
    • :backtrace => false
    • :bulk_threshold => 1000
  • REMOTE SOURCES:
  • SHELL PATH:
    • /usr/local/bin
    • /bin
    • /usr/bin
    • /usr/local/sbin
    • /usr/sbin
    • /opt/oxidized/.composer/vendor/bin
    • /opt/oxidized/.local/bin
    • /opt/oxidized/bin

Same problem here. I use Oxidized with git output and csv input.
In Oxidized URL all is ok.
Someone have any idea?

Did they solve it? I have the same problem with Hp and 3COM equipment.

I am experiencing the same issue except there are a few differences. In my case the config file trying to be displayed is greater than 4M. All the other devices I am collecting configs for are collecting fine but their sizes are 29K or less. Also, the banner I see is different since this device was discovered using ./snmp-scan -P. If I try to delete this device LibreNMS fails to remove it from the system. Below is the output I am see when trying to navigate from the Availability map.

Juniper MX480 JD_router
System Name
JD_router
IP Address
10.13.0.5
Hardware
Juniper MX480 Midplane Internet Backbone Router
Operating System
Juniper JunOS 12.3R6.6
Serial
JN12FE345ABC
Object ID
.1.3.6.1.4.1.2636.1.1.1.2.25
Contact
John Doe
Device Added
5 days 16 hours 14 minutes 28 seconds ago
Last Discovered
2 hours 23 minutes 30 seconds ago
Uptime
154 days 21 hours 36 minutes 47 seconds
Location
ABC C46
Lat / Lng
N/A
View
Overall Traffic


26485 99 0 0

I changed the .rb file to pull a smaller portion of the config and this seems to work. It seems that something about large configuration files causes display issues in LibreNMS. Again, I can view the full configuration file from Oxidized web interface. Are there any timers that might be getting exceeded causing this failure to display the 4M file?

Displaying a larger portion of the config up to 2.5M works as well.

[email protected]:~/.config/oxidized$ …/…/validate.php

Component Version
LibreNMS 21.4.0
DB Schema 2021_04_08_151101_add_foreign_keys_to_port_group_port_table (208)
PHP 7.4.16
Python 3.6.9
MySQL 10.5.9-MariaDB-1:10.5.9+maria~bionic
RRDTool 1.7.0
SNMP NET-SNMP 5.7.3

====================================

[OK] Composer Version: 2.0.13
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct