Skip to main content

ISC DHCP

ISC DHCP

Plugin: go.d.plugin Module: isc_dhcpd

Maintained by Netdata

Overview​

This collector monitors ISC DHCP lease usage by reading the DHCP client lease database (dhcpd.leases).

This collector is only supported on the following platforms:

  • Linux
  • BSD

This collector supports collecting metrics from multiple instances of this integration, including remote instances.

Default Behavior​

Auto-Detection​

This integration doesn't support auto-detection.

Limits​

The default configuration for this integration does not impose any limits on data collection.

Performance Impact​

The default configuration for this integration is not expected to impose a significant performance impact on the system.

Setup​

You can configure the isc_dhcpd collector in two ways:

MethodBest forHow to
UIFast setup without editing filesGo to Nodes → Configure this node → Collectors → Jobs, search for isc_dhcpd, then click + to add a job.
FileIf you prefer configuring via file, or need to automate deployments (e.g., with Ansible)Edit go.d/isc_dhcpd.conf and add a job.
important

UI configuration requires paid Netdata Cloud plan.

Prerequisites​

No action required.

Configuration​

Options​

The following options can be defined globally: update_every, autodetection_retry.

Config options
GroupOptionDescriptionDefaultRequired
Collectionupdate_everyData collection interval (seconds).1no
autodetection_retryAutodetection retry interval (seconds). Set 0 to disable.0no
Targetleases_pathPath to DHCP client lease database./var/lib/dhcp/dhcpd.leasesno
poolsDHCP IP pools to monitor.yes
pools​

List of IP pools to monitor.

pools:
- name: "POOL_NAME1"
networks: "SPACE SEPARATED LIST OF IP RANGES"
- name: "POOL_NAME2"
networks: "SPACE SEPARATED LIST OF IP RANGES"

via UI​

Configure the isc_dhcpd collector from the Netdata web interface:

  1. Go to Nodes.
  2. Select the node where you want the isc_dhcpd data-collection job to run and click the ⚙ (Configure this node). That node will run the data collection.
  3. The Collectors → Jobs view opens by default.
  4. In the Search box, type isc_dhcpd (or scroll the list) to locate the isc_dhcpd collector.
  5. Click the + next to the isc_dhcpd collector to add a new job.
  6. Fill in the job fields, then click Test to verify the configuration and Submit to save.
    • Test runs the job with the provided settings and shows whether data can be collected.
    • If it fails, an error message appears with details (for example, connection refused, timeout, or command execution errors), so you can adjust and retest.

via File​

The configuration file name for this integration is go.d/isc_dhcpd.conf.

The file format is YAML. Generally, the structure is:

update_every: 1
autodetection_retry: 0
jobs:
- name: some_name1
- name: some_name2

You can edit the configuration file using the edit-config script from the Netdata config directory.

cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config go.d/isc_dhcpd.conf
Examples​
Basic​

A basic example configuration.

Config
jobs:
- name: local
pools:
- name: lan
networks: "192.168.0.0/24 192.168.1.0/24 192.168.2.0/24"
- name: wifi
networks: "10.0.0.0/24"

Alerts​

There are no alerts configured by default for this integration.

Metrics​

Metrics grouped by scope.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.

Per ISC DHCP instance​

These metrics refer to the entire monitored application.

This scope has no labels.

Metrics:

MetricDescriptionDimensionsUnit
isc_dhcpd.active_leases_totalActive Leases Totalactiveleases

Per ISC DHCP instance​

These metrics refer to the DHCP pool.

Labels:

LabelDescription
dhcp_pool_nameThe DHCP pool name defined in the collector configuration.

Metrics:

MetricDescriptionDimensionsUnit
isc_dhcpd.dhcp_pool_utilizationDHCP Pool Utilizationutilizationpercent
isc_dhcpd.dhcp_pool_active_leasesActive Leases Totalactiveleases

Troubleshooting​

Diagnostics​

Debug Mode​

Important: Debug mode is not supported for data collection jobs created via the UI using the Dyncfg feature.

To troubleshoot issues with the isc_dhcpd collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

  • Navigate to the plugins.d directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the plugins setting under [directories].

    cd /usr/libexec/netdata/plugins.d/
  • Switch to the netdata user.

    sudo -u netdata -s
  • Run the go.d.plugin to debug the collector:

    ./go.d.plugin -d -m isc_dhcpd

    To debug a specific job:

    ./go.d.plugin -d -m isc_dhcpd -j jobName

Getting Logs​

If you're encountering problems with the isc_dhcpd collector, follow these steps to retrieve logs and identify potential issues:

  • Run the command specific to your system (systemd, non-systemd, or Docker container).
  • Examine the output for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.
System with systemd​

Use the following command to view logs generated since the last Netdata service restart:

journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep isc_dhcpd
System without systemd​

Locate the collector log file, typically at /var/log/netdata/collector.log, and use grep to filter for collector's name:

grep isc_dhcpd /var/log/netdata/collector.log

Note: This method shows logs from all restarts. Focus on the latest entries for troubleshooting current issues.

Docker Container​

If your Netdata runs in a Docker container named "netdata" (replace if different), use this command:

docker logs netdata 2>&1 | grep isc_dhcpd

Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.