Skip to main content

Dnsmasq DHCP

Plugin: go.d.plugin Module: dnsmasq_dhcp

Overview​

This collector monitors Dnsmasq DHCP leases databases, depending on your configuration.

By default, it uses:

  • /var/lib/misc/dnsmasq.leases to read leases.
  • /etc/dnsmasq.conf to detect dhcp-ranges.
  • /etc/dnsmasq.d to find additional configurations.

This collector is supported on all platforms.

This collector only supports collecting metrics from a single instance of this integration.

Default Behavior​

Auto-Detection​

All configured dhcp-ranges are detected automatically

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.

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 Dnsmasq DHCP instance​

These metrics refer to the entire monitored application.

This scope has no labels.

Metrics:

MetricDimensionsUnit
dnsmasq_dhcp.dhcp_rangesipv4, ipv6ranges
dnsmasq_dhcp.dhcp_hostsipv4, ipv6hosts

Per dhcp range​

These metrics refer to the DHCP range.

Labels:

LabelDescription
dhcp_rangeDHCP range in START_IP:END_IP format

Metrics:

MetricDimensionsUnit
dnsmasq_dhcp.dhcp_range_utilizationusedpercentage
dnsmasq_dhcp.dhcp_range_allocated_leasesallocatedleases

Alerts​

The following alerts are available:

Alert nameOn metricDescription
dnsmasq_dhcp_dhcp_range_utilization dnsmasq_dhcp.dhcp_range_utilizationDHCP range utilization

Setup​

Prerequisites​

No action required.

Configuration​

File​

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

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/dnsmasq_dhcp.conf

Options​

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

Config options
NameDescriptionDefaultRequired
update_everyData collection frequency.1no
autodetection_retryRecheck interval in seconds. Zero means no recheck will be scheduled.0no
leases_pathPath to dnsmasq DHCP leases file./var/lib/misc/dnsmasq.leasesno
conf_pathPath to dnsmasq configuration file./etc/dnsmasq.confno
conf_dirPath to dnsmasq configuration directory./etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-newno

Examples​

Basic​

An example configuration.

Config
jobs:
- name: dnsmasq_dhcp
leases_path: /var/lib/misc/dnsmasq.leases
conf_path: /etc/dnsmasq.conf
conf_dir: /etc/dnsmasq.d

Pi-hole​

Dnsmasq DHCP on Pi-hole.

Config
jobs:
- name: dnsmasq_dhcp
leases_path: /etc/pihole/dhcp.leases
conf_path: /etc/dnsmasq.conf
conf_dir: /etc/dnsmasq.d

Troubleshooting​

Debug Mode​

To troubleshoot issues with the dnsmasq_dhcp 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 dnsmasq_dhcp

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