Check_mk_agent for Unifi Dream Machine Pro


We recently installed a UDM Pro to complete our Unifi network installation. To our surprise, this network equipment doesn’t have SNMP. So I’ve installed check_mk_agent from OpenWRT into this machine and most of it is working fine. But the process list is not working.

The output is broken because ps arguments are very limited on this device.

Could someone explain the expected output of <<>> section so I can adapt the OpenWRT agent to this Unifi Dream Machine ?


Hi please Test this.


I tested this with the UniFi Controller Version 6.2.26 and a UAP-nanoHD AccessPoint. It works fine. There is a little problem with the naming for the uptime service which collides with the checkmk builtin Uptime service if you additionally use SNMP to request data from the AccessPoint.

I created a pull request to fix this.

Hello, I don’t think you need an SNMP check, just create your access point as a host in checkmk exactly as it says in Unifi, without an agend, just with the option “Use piggyback data from other hosts if present (default value)”

And you’ll get everything you want.

If you want more data (like I do) you can use SNMP on top:

And if you use SNMP you will run into an checkmk error because of the servicename Uptime

Tomorrow I can test this additionally with a unifi switch.
I’ve got also a USG, but I don’t want to use it anymore. So if someone is searching for one… tell me. :wink:

I can understand you want to give it up. also had one to give away.

1 Like

I would not recommend to rename this check if it does show the same value as the snmp uptime.
Better solution would be to use the “supersedes” feature at registering the agent section.

Something like this here.

    name = 'unifi_device',
    parse_function = parse_unifi_dict,
1 Like

Hi @andreas-doehler ,

I don’t know superseed. But let’s talk about two situations.

  1. one does not use SNMP
    In this case you have the uptime information from piggyback (everything is cool)

  2. one uses SNMP additionally
    a. without renaming or using superseed us run into problems

if you want to use parameters on uptime like “Minimum required uptime” or “Maximum allowed uptime” you will not finde those in the piggybacked service


SNMP Uptime

I would to rename the piggybacked service or superseed the SNMP service.
In this case the user can decide which service he or she wants to use.

btw. I need this because my AP does reboot from time to time. And I don’t know why or when.

The parameter problem is clear if i look at the code of the check.
It is a little bit strange how it is build :wink:

If the check would create a real uptime check then you could also use the rule.
But this check has no parameters und uses a service description with empty string and item “Uptime”, that’s really strange.

This whole check must be rewritten to build clean checks with parameters. At the moment it is nearly impossible to have parameters there.

1 Like

At the moment it is working for me and I searched a long time for it. So I’m fine so far :wink:

if i superseed the snmp_uptime and add Up since …
will this help? Will this make the snmp parameters work or do i need to create extra parameters

Alternative could be to make service exclusions via wato.

@Doc what extra data do you need via snmp? there are a lot more metrics available i just found noone who needed them.

@NilsS nothing special so far. I don’t know what is possible. Haven’t seen the MIB file.

I don’t know how superseeding works, but the SNMP uptime has some very useful parameters for configuration.

to see all data via api you can call the special-agent direkt with --rawapi parameter

~/local/share/check_mk/agents/special/agent_unifi_controller -u monitor -p monitor123 --port 8443 --ignore-cert --rawapi unifi-IP

i will try that superseed in a couple of days when i have some time

1 Like

@Doc sorry still not enough time to look through. Saw your PR.
wouldnt it be much easier to just change that uptime is no longer listed under <<<unifi_device:sep(124)>>> but instead just as normal <<>>
Then there is no need for snmp uptime to set parameter


yes, that would be easier. I’m not sure if there are differences to the SNMP value. And someone who does not use SNMP will possibly miss the service.

@Doc Version 0.87 Nextcloud ist nicht böse!
update auf github sollte auch bald sein. Parameter sind jetzt auf allen Geräten (uck irgendwie nicht) da

1 Like

@NilsS die “Vorhhölle” hat ein “h” zu viel :wink:

Das mkp sieht gut aus. Ich teste das gerade.