Oxidized API only returning default group

Hi,

I am trying to integrate librenms and oxidized but I have a problem with groups.

If I just enable return group, no group is shown and If I set a default group, only the default group is shown on every device.

Without default group:
curl -H ‘X-Auth-Token:XXXXXXXXX’ http://127.0.0.1/api/v0/oxidized
{
“hostname”: “193.4.1.11”,
“os”: “procurve”,
“ip”: “193.4.1.11”,
},
{
“hostname”: “193.4.1.10”,
“os”: “procurve”,
“ip”: “”,
},

With default group configured;
curl -H ‘X-Auth-Token:XXXXXXXXX’ http://127.0.0.1/api/v0/oxidized
{
“hostname”: “193.4.1.11”,
“os”: “procurve”,
“ip”: “193.4.1.11”,
“group”: “default”
},
{
“hostname”: “193.4.1.10”,
“os”: “procurve”,
“ip”: “”,
“group”: “default”
},

This is the version I am currently running:

Version | 1.47-97-g1bb782b - Wed Jan 23 2019 15:36:55 GMT+0100
DB Schema | 2019_01_16_195644_add_vrf_id_and_bgpLocalAs (131)
Web Server | nginx/1.12.2
PHP | 7.2.8
MySQL | 5.5.60-MariaDB
RRDtool | 1.4.8

Thanks in advence

1 Like

Groups must be configured in config.php. See https://docs.librenms.org/Extensions/Oxidized/

Specifically, the section on Overrides. It’s completely separate from grouping in LibreNMS itself.

1 Like

Hi,

You mean that device groups mut be generated manually on config.php?

It does not send the configured “Device groups” through webui?

I thought that in config.php only should be configured group overrides.

Thanks in advance.

Correct, groups in LibreNMS webui have no relation to oxidized groups.

ok, thanks for all. I will give a try.

Hi. thanks It worked!

now I am having problems with overrrides based on hardware o hostname.

I am trying to identifiy Acces Point from rest of IOS devices like switches or routers

I have tried this fiters

$config[‘oxidized’][‘maps’][‘group’][‘hardware’][] = array(‘match’ => ‘AIR-*’, ‘group’ => ‘ios-ap’);

or

$config[‘oxidized’][‘maps’][‘group’][‘hostname’][] = array(‘match’ => ‘AP*’, ‘group’ => ‘ios-ap’);

But looks that always matches this filter and showed like “ios”
$config[‘oxidized’][‘maps’][‘group’][‘os’][] = array(‘match’ => ‘ios’, ‘group’ => ‘ios’);

Can I configure a group applied to 2 different values like if its an ios “os” and hardware is AIR-AP1242G-E-K9…?

Thanks in advance.