[Kea-users] statistics-get - computation of # of current leases per pool?

Darren Ankney darren.ankney at gmail.com
Thu Oct 29 21:07:27 UTC 2026


Hi Zito,

First I would say that you might want to take a look at Stork
(https://www.isc.org/stork/) which would allow export to grafana via
prometheus (and shows its own stats as well).  Open source software
(https://gitlab.isc.org/isc-projects/stork).  An easy way to get
started: https://kb.isc.org/docs/stork-quickstart-guide

I believe this is by design.  Here:
https://kea.readthedocs.io/en/kea-3.0.4/arm/dhcp4-srv.html#statistics-in-the-dhcpv4-server
there is a table that describes each statistic.  I believe that
pool[0] is the entire subnet.  There is a note following that table
that describes the pool-id.  I believe, that if you configure a
pool-id greater than 0 in your subnet that you will get proper pool
statistics that don't include the entire subnet's assigned addresses
(assuming you ask for that specific pool-id in the API call).

Thank you,
Darren Ankney

On Thu, Oct 29, 2026 at 1:34 PM Václav Ovsík <vaclav.ovsik at seznam.cz> wrote:
>
> Fellow users of KEA,
>
> I'm trying to migrate from ISC dhcpd to KEA. The current dhcpd server
> installations are working in HA load balancing mode and I decided to
> use HA hot-standby mode for KEA (according to documentation).
> The servers are running Debian 13 Trixie and KEA from trixie-backports version
> 3.0.3-1~bpo13+1.
>
> Along the KEA replacement I also install monitoring plugin for KEA in
> CheckMK (https://codeberg.org/mirabilos/kea-dhcp).  It monitors pools
> usage by asking the KEA, but I have problem with the results.
>
> My KEA instance has many static host reservations and some pools in some
> subnets.
>
> Specifically is problematic subnet with definition:
>
>         {
>           "id": 80,
>           "subnet": "10.8.160.128/25",
>           "option-data": [
>             { "name": "routers", "data": "10.8.160.129" },
>           ],
>           "pools": [ { "pool": "10.8.160.242 - 10.8.160.250" } ]
>         },
>
> There is no dynamic lease from pool, but more static reservations outside of
> pool, but the monitoring plugins show the problem - the pool is full because:
>
>   # echo '{ "command": "statistic-get", "arguments": { "name": "subnet[80].pool[0].assigned-addresses" } }' | socat UNIX-CONNECT:/run/kea/kea4-ctrl-socket STDIO | json_pp
>   {
>      "arguments" : {
>         "subnet[80].pool[0].assigned-addresses" : [
>            [
>               9,
>               "2026-10-29 08:17:47.707752"
>            ],
>            [
>               0,
>               "2026-10-29 08:17:47.707562"
>            ]
>         ]
>      },
>      "result" : 0
>   }
>
> Yes, I have 9 leases, but outside of pool. Is this bug in the KEA server?
>
>   # socat /run/kea/kea4-ctrl-socket STDIO <<< '{ "command": "lease4-get-page", "arguments": { "from": "start", "limit": 100 } }' | jq  -r '.arguments.leases[] | select(."subnet-id" == 80)."ip-address"'
>   10.8.160.140
>   10.8.160.141
>   10.8.160.143
>   10.8.160.145
>   10.8.160.146
>   10.8.160.147
>   10.8.160.148
>   10.8.160.150
>   10.8.160.151
>
> The values in the level subnet[80] and subnet[80].pool[0] are the same.
>
>   nssrv1.lim.i.cz:/etc/kea# echo '{ "command": "statistic-get", "arguments": { "name": "subnet[80].assigned-addresses" } }' | socat UNIX-CONNECT:/run/kea/kea4-ctrl-socket STDIO | json_pp
>   {
>      "arguments" : {
>         "subnet[80].assigned-addresses" : [
>            [
>               9,
>               "2026-10-29 08:17:47.707724"
>            ],
>            [
>               0,
>               "2026-10-29 08:17:47.707553"
>            ]
>         ]
>      },
>      "result" : 0
>   }
>
> And especially confusing is the value 0 and 9 in very close point in time.
>
> Server restart doesn't help:
>
>   # systemctl restart kea-dhcp4-server.service
>   # echo '{ "command": "statistic-get", "arguments": { "name": "subnet[80].assigned-addresses" } }' | socat UNIX-CONNECT:/run/kea/kea4-ctrl-socket STDIO | json_pp
>   {
>      "arguments" : {
>         "subnet[80].assigned-addresses" : [
>            [
>               9,
>               "2026-10-29 18:27:52.139910"
>            ],
>            [
>               0,
>               "2026-10-29 18:27:52.139706"
>            ]
>         ]
>      },
>      "result" : 0
>   }
>
> I think the value is simply bad according to
> https://kea.readthedocs.io/en/kea-3.0.3/arm/dhcp4-srv.html#dhcp4-stats
>
> Sorry for my English.
> Any idea?
> Regards
> --
> Zito
> --
> ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information.
>
> To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users.
> Kea-users at lists.isc.org


More information about the Kea-users mailing list