Using the Kea DHCP Server 5

Posted by Henry Du on Saturday, November 21, 2020

Using KEA DHCP Webinar part 5

This blog is a study note of using Kea DHCP Webinar 05. It introduced Stork monitoring tool, logging and performance test tool, very briefly.

Stork Monitoring

Stork is a graphic dashboard for Kea DHCP server. It monitors Kea and Kea HA state. It alerts failures, fault conditions and other unwanted events. However, it is under active development.

Stork can be installed to various platforms, including Ubuntu, Fedora and RedHat. This post will ignore Stork installation.

In addition, the Stork user management provides the basic management dashboard. Infoblox IPAM DHCP service actually provide more sophisticated management for Kea DHCP server.

Other Monitoring

Process Monitoring

systemd exposes the state of managed services via the DBUS API, so a monitoring system can read the DBUS API information. For example, Prometheus exporter for systemd services.

DHCP Function Monitoring

dhcping is a simple tool to test if a DHCP server responds to DHCP requests and returns a lease. It requests a lease (DHCPREQUEST) or DHCP option information (DHCPINFORM) from a DHCP Server.

Dealing With Pool Depletion

If we encounter address pool depletion, check the following reasons:

  • lease time too high for the number of DHCP clients in the network.
  • machines are not releasing their lease on shutdown.
  • malicious/buggy DHCP client software.

The solution is to consider to switch to DHCPv6.

Logging

All Kea services provide flexible logging. It can output log to syslog, to a file, or to stdout or stderr. The logging config section may looks like below.

"Logging": {
        "loggers": [
            {
                "name": "kea-dhcp4",
                "output_options": [
                    {
                        "output": "syslog:user"
                    }
                ],
                "severity": "INFO",
                "debuglevel": 0
            },
            {
                "name": "kea-dhcp4.leases",
                "output_options": [
                    {
                        "output": "syslog:user"
                    }
                ],
                "severity": "INFO",
                "debuglevel": 0
            },
            {
                "name": "kea-dhcp4.alloc-engine",
                "output_options": [
                    {
                        "output": "syslog:user"
                    }
                ],
                "severity": "INFO",
                "debuglevel": 0
            },
            {
                "name": "kea-dhcp4.ddns",
                "output_options": [
                    {
                        "output": "syslog:user"
                    }
                ],
                "severity": "INFO",
                "debuglevel": 0
            }
        ]
    }

Performance Testing

perfdhcp is used to do DHCP performance testing for Kea. The usage examples can be available from here.