Plugin: go.d.plugin Module: dnsmasq_dhcp
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 only supported on the following platforms:
This collector only supports collecting metrics from a single instance of this integration.
All configured dhcp-ranges are detected automatically
The default configuration for this integration does not impose any limits on data collection.
The default configuration for this integration is not expected to impose a significant performance impact on the system.
No action required.
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
The following options can be defined globally: update_every, autodetection_retry.
Name | Description | Default | Required |
---|---|---|---|
update_every | Data collection frequency. | 1 | no |
autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no |
leases_path | Path to dnsmasq DHCP leases file. | /var/lib/misc/dnsmasq.leases | no |
conf_path | Path to dnsmasq configuration file. | /etc/dnsmasq.conf | no |
conf_dir | Path to dnsmasq configuration directory. | /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new | no |
An example configuration.
jobs:
- name: dnsmasq_dhcp
leases_path: /var/lib/misc/dnsmasq.leases
conf_path: /etc/dnsmasq.conf
conf_dir: /etc/dnsmasq.d
Dnsmasq DHCP on Pi-hole.
jobs:
- name: dnsmasq_dhcp
leases_path: /etc/pihole/dhcp.leases
conf_path: /etc/dnsmasq.conf
conf_dir: /etc/dnsmasq.d
Metrics grouped by scope.
The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
These metrics refer to the entire monitored application.
This scope has no labels.
Metrics:
Metric | Dimensions | Unit |
---|---|---|
dnsmasq_dhcp.dhcp_ranges | ipv4, ipv6 | ranges |
dnsmasq_dhcp.dhcp_hosts | ipv4, ipv6 | hosts |
These metrics refer to the DHCP range.
Labels:
Label | Description |
---|---|
dhcp_range | DHCP range in START_IP:END_IP format |
Metrics:
Metric | Dimensions | Unit |
---|---|---|
dnsmasq_dhcp.dhcp_range_utilization | used | percentage |
dnsmasq_dhcp.dhcp_range_allocated_leases | allocated | leases |
The following alerts are available:
Alert name | On metric | Description |
---|---|---|
dnsmasq_dhcp_dhcp_range_utilization | dnsmasq_dhcp.dhcp_range_utilization | DHCP range utilization |
Important: Debug mode is not supported for data collection jobs created via the UI using the Dyncfg feature.
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
If you’re encountering problems with the dnsmasq_dhcp
collector, follow these steps to retrieve logs and identify potential issues:
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 dnsmasq_dhcp
Locate the collector log file, typically at /var/log/netdata/collector.log
, and use grep
to filter for collector’s name:
grep dnsmasq_dhcp /var/log/netdata/collector.log
Note: This method shows logs from all restarts. Focus on the latest entries for troubleshooting current issues.
If your Netdata runs in a Docker container named “netdata” (replace if different), use this command:
docker logs netdata 2>&1 | grep dnsmasq_dhcp
Want a personalised demo of Netdata for your use case?