Feeding oxidized from librenms devices (API) not working

Which port is your oxidized listening on? You can’t bind both nginx/apache webserver and oxidized on the same 80/444 port, so if you run them on the same server you mostly will have oxidized listening under a different port.

Btw what I do, is run oxidized as a systemd service, but it runs in a docker/podman container. Saves you the trouble of getting all dependencies correct for oxidized otherwise.

@Killo:
Even if I take exactly your lines for config.php, the WebGUI is dead (blank)
Immediatley after removing the “faulty” lines and even without restarting nginx it works again.

@Elias:
Do’nt know sure, because I use CentOS OVA. But looking at the VirtualBox Settings it should be librenms port 80 (portforwarding 8080 --> 80) and oxidized 8888 (portforwarding 8888 --> 8888)

And as I said, the librenms webGUI is blank/not responding and oxidized is no starting

Update:
did not change anything, but with
$config[‘oxidized’][‘maps’][‘group’][‘hostname’][] = array(‘regex’ => ‘/192/’, ‘group’ => ‘DMZ’);
there is no error, but it not working.

When I try
$config[‘oxidized’][‘maps’][‘group’][‘hostname’][] = array(‘regex’ => ‘/^192/’, ‘group’ => ‘DMZ’);
OR
$config[‘oxidized’][‘maps’][‘group’][‘hostname’][] = array(‘regex’ => ‘/192*/’, ‘group’ => ‘DMZ’);
OR
$config[‘oxidized’][‘maps’][‘group’][‘hostname’][] = array(‘regex’ => ‘/192.168.103.11/’, ‘group’ => ‘DMZ’);

the error is like

[librenms@localhost ~]$ curl -H 'X-Auth-Token: 19e35a0b60510fc81852209357b8df0c' http://localhost/api/v0/oxidized
{"message": "Server Error: Set APP_DEBUG=true to see details."}

AND

[librenms@localhost ~]$ oxidized
no implicit conversion of String into Integer

Update 2:
setting enable, url and reload still does not work with config.php.

But now the following “override” or group-mapping works:
$config['oxidized']['maps']['group']['hostname'][] = array('regex' => '/^192/', 'group' => 'DMZ');

wtf… it’s not first time I try this :astonished:

Update 3:
ok. the syntax. ‘ against ’
$config[‘oxidized’][‘maps’][‘group’][‘hostname’][] = array(‘regex’ => ‘/^192/’, ‘group’ => ‘DMZ’);
$config['oxidized']['maps']['group']['hostname'][] = array('regex' => '/^192/', 'group' => 'DMZ');

END:

So this works for me (on CentOS OVA):

nano /opt/librenms/config.php

$config['oxidized']['enabled'] = true;
$config['oxidized']['url'] = 'http://127.0.0.1:8888';
$config['oxidized']['features']['versioning'] = true;
$config['oxidized']['group_support'] = true;
$config['oxidized']['default_group'] = 'default';
$config['oxidized']['reload_nodes'] = true;

$config['oxidized']['maps']['group']['hostname'][] = array('regex' => '/^192/', 'group' => 'DMZ');
$config['oxidized']['maps']['group']['hostname'][] = array('regex' => '/^172/', 'group' => 'LAN');

nano /opt/librenms/.config/oxidized/config

groups:
  DMZ:
    username: usr1
    password: pwd1
    model: procurve
  LAN:
    username: usr2
    password: pwd2
    model: procurve
  default:
    username: manager
    password: pw3
    model: procurve
output:
  default: git
  git:
    user: librenms
    email: [email protected]
    repo: "/opt/librenms/.config/oxidized/git/default.git"
source:
  default: http
  debug: false
  http:
    url: http://localhost/api/v0/oxidized
    map:
      name: hostname
      model: os
      ip: ip
      group: group
    headers:
     X-Auth-Token: 'my_api_key'

Incorrect delimiters can definitely break things, you should always use the single quote and not backticks.

But it’s working now?

yes its working now with my provided configuration.

Thank for your help, Killo and Elias!

1 Like

Cool, glad to heat that :slight_smile:
And you’re welcome!

glad you got it squared away brother. Nice work!