LibreNMS Oxidized hostname is empty

Hi!

I setup Oxidized with LibreNMS. However the ‘Hostname’ field is empty.
If I visit :8888 the ‘name’ field is filled in correctly.
Any idea why this isn’t in my LibreNMS?
EDIT:
Oxidized config is set to resolve_dns: false but I use $config['force_ip_to_sysname'] = true;

Also, the ‘go to’ config button goes to: https://example.com/device/device=/tab=showconfig/
However my LibreNMS runs on https://example.com/librenms/device/device=/tab=showconfig/.
Any way to change this button to go to ‘/librenms/’?

Thank you!

Kind regards.

Hello

This means that the device exists in oxidized but does not exist anymore in Librenms. I have the same issue, and no solution for the moment.

Concerning the button, I’ll take care of that, this is my mistake.

PipoCanaja

Hi,

Well the device does exist in fact?

In my issue, no. The devices did exist, and when I delete them in Librenms, because I use the CSV provisioning in oxidized, the device remains, and appears in the oxidized list of Librenms. But as Librenms does not find the device in its DB, no hostname is found, and no device ID either, so the line is “empty”, and not clickable.

Patch for the link will come in the next few days, I’ll update you.
EDIT: Patch is there. Allow it a few days in order to be merged, and automatically applied to your setup.

Hi,

I provision via CSV which I setup manually. I’m testing Oxidized and only have 1 device in it, so seems unrelated to your problem…

Thank you regarding the patch! Much appreciated :slight_smile:

EDIT:

source:
  default: csv
  debug: false
  csv:
    file: "/home/oxidized/.config/oxidized/router.db"
    delimiter: !ruby/regexp /:/
    map:
      name: 0
      ip: 1
      model: 2
      username: 3
      password: 4
    gpg: false

router.db:

sw-01:10.0.0.253:junos:admin:password

Then you need to manually provision the device using the same IP address or name as the one you used in LibreNMS, exactly. Cause that is the only way to do matching between CSV and LibreNMS.
Using the API for provisioning wil solve this of course. And it works beautifully (I have it on one instance)

Okay. Any way how to ‘force reload’ the router.db, or is it only possible to trigger it when a device is added?

You can push the ReloadNodeList green button on top of the list.
(and then manually refresh the page after)

Why not use the http oxidized source like in the docs? Then you don’t have to manually add devices to oxidized.

Got it, thank you!

One last question (So very sorry to bother you, but you have been of great assistance), I use a random password for all my devices.
Though my router.db (in /home/oxidized/.config/oxidized/router.db) is still empty.

How would I handle that?
Create a separate ‘read-only’ user with the same password?
Or can I supply a SSH key?
I use JunOS/VyOS for everything, so SSH is supported.

Thank you!

This question is purely oxidized. If you use router.db, then all logins and passwords must be in here. Either with groups (if you have same user in multiple devices) or manually one login/passwd per device declaration.

I setup the http feeding from LibreNMS :slight_smile:

Then, you need to create 1 group in oxidized config for each device, and map each device (in librenms config.php) to it’s group. When this is done, then oxidized is fed with the device list (and its group) and can connect to the device with the PWD information associated with the group.

Clearly, this setup is annoying if you have one password different for each device, but it works.