Zabbix network graphs on Cirrus 4.3.13

I have a Cirrus AP running 4.3.13 and a Zabbix server. I can add the Cirrus router to the zabbix server as a active client, using the templates supplied by OpenWRT.

I have an original Slate running 4.3,11 code base and when I do this on the Zabbix server I get graphs for the network interface traffic. I get 26 different graphs.

When I add the Cirrus I get 13 . It seems to be OS and WiFi stuff but no network interface info.

I looked and the zabbix packages are installed on both systems (zabbix-agentd, zabbix-extra-mac80211, zabbix-network, zabbix-wifi). On the Slate it is version 5.0.18-1 and on the Cirrus it is version 5.0.7-2

I've checked the configs and they are the same where they should be on both systems.

In the discovery section, next to "Network Interface Discovery" it has an error (or part of one):

Invalid discovery rule value: cannot parse as a valid JSON object: invalid object format, expected opening character '{' or '[' at: 'lua: (command line):1: attempt to concatenate field 'device' (a nil value)
stack traceback:
(command line):1: in main chunk
[C]: ?...'

I have tried deleting the host object on the Zabbix server for the cirrus and recreating it. I have tried to re-run discovery.

Anything else folks can think that I can try?

I'm really looking to get network traffic information historically for this system and then to setup alerts for interface down events. Zabbix is doing that for other things I just have issues with this system.

Hmm after some searching I found some updated lua command
Replacing the UserParameter line in /etc/zabbix_agentd.conf.d/network
with the string from this page
https://github.com/openwrt/packages/blob/master/admin/zabbix/files/network

UserParameter=netowrt.discovery,lua -l ubus -e 'u=ubus.connect();list="{\"data\":[";dump=u:call("network.interface", "dump", {});for _, intf in ipairs(dump.interface) do list=list.."{\"{#IF}\":\""..(intf.device or intf.l3_device).."\", \"{#NET}\":\""..intf.interface.."\"},";end;list=string.gsub(list,",$","");print(list.."]}")'

I restarted the Zabbix agent on the router. Then I deleted and re-added the router Zabbix. I had to enable and re-enable Network Interface discovery as well after that, but now I have traffic graphs.

2 Likes