src/go/plugin/go.d/modules/pihole/metadata.yaml
plugin_name: go.d.plugin
modules:
- meta:
id: collector-go.d.plugin-pihole
plugin_name: go.d.plugin
module_name: pihole
monitored_instance:
name: Pi-hole
link: https://pi-hole.net
icon_filename: pihole.png
categories:
- data-collection.dns-and-dhcp-servers
keywords:
- pihole
related_resources:
integrations:
list: []
info_provided_to_referring_integrations:
description: ""
most_popular: false
overview:
data_collection:
metrics_description: |
This collector monitors Pi-hole instances using [PHP API](https://github.com/pi-hole/AdminLTE).
The data provided by the API is for the last 24 hours. All collected values refer to this time period and not to the
module's collection interval.
method_description: ""
supported_platforms:
include: []
exclude: []
multi_instance: true
additional_permissions:
description: ""
default_behavior:
auto_detection:
description: ""
limits:
description: ""
performance_impact:
description: ""
setup:
prerequisites:
list: []
configuration:
file:
name: go.d/pihole.conf
options:
description: |
The following options can be defined globally: update_every, autodetection_retry.
folding:
title: Config options
enabled: true
list:
- name: update_every
description: Data collection frequency.
default_value: 5
required: false
- name: autodetection_retry
description: Recheck interval in seconds. Zero means no recheck will be scheduled.
default_value: 0
required: false
- name: url
description: Server URL.
default_value: http://127.0.0.1
required: true
- name: setup_vars_path
description: Path to setupVars.conf. This file is used to get the web password.
default_value: /etc/pihole/setupVars.conf
required: false
- name: timeout
description: HTTP request timeout.
default_value: 5
required: false
- name: username
description: Username for basic HTTP authentication.
default_value: ""
required: false
- name: password
description: Password for basic HTTP authentication.
default_value: ""
required: false
- name: proxy_url
description: Proxy URL.
default_value: ""
required: false
- name: proxy_username
description: Username for proxy basic HTTP authentication.
default_value: ""
required: false
- name: proxy_password
description: Password for proxy basic HTTP authentication.
default_value: ""
required: false
- name: method
description: HTTP request method.
default_value: GET
required: false
- name: body
description: HTTP request body.
default_value: ""
required: false
- name: headers
description: HTTP request headers.
default_value: ""
required: false
- name: not_follow_redirects
description: Redirect handling policy. Controls whether the client follows redirects.
default_value: false
required: false
- name: tls_skip_verify
description: Server certificate chain and hostname validation policy. Controls whether the client performs this check.
default_value: false
required: false
- name: tls_ca
description: Certification authority that the client uses when verifying the server's certificates.
default_value: ""
required: false
- name: tls_cert
description: Client TLS certificate.
default_value: ""
required: false
- name: tls_key
description: Client TLS key.
default_value: ""
required: false
examples:
folding:
title: Config
enabled: true
list:
- name: Basic
description: A basic example configuration.
config: |
jobs:
- name: local
url: http://127.0.0.1
- name: HTTPS with self-signed certificate
description: Remote instance with enabled HTTPS and self-signed certificate.
config: |
jobs:
- name: local
url: https://203.0.113.11
tls_skip_verify: yes
password: 1ebd33f882f9aa5fac26a7cb74704742f91100228eb322e41b7bd6e6aeb8f74b
- name: Multi-instance
description: |
> **Note**: When you define multiple jobs, their names must be unique.
Collecting metrics from local and remote instances.
config: |
jobs:
- name: local
url: http://127.0.0.1
- name: remote
url: http://203.0.113.10
password: 1ebd33f882f9aa5fac26a7cb74704742f91100228eb322e41b7bd6e6aeb8f74b
troubleshooting:
problems:
list: []
alerts:
- name: pihole_blocklist_last_update
metric: pihole.blocklist_last_update
info: "gravity.list (blocklist) file last update time"
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/pihole.conf
- name: pihole_status
metric: pihole.unwanted_domains_blocking_status
info: unwanted domains blocking is disabled
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/pihole.conf
metrics:
folding:
title: Metrics
enabled: false
description: ""
availability: []
scopes:
- name: global
description: These metrics refer to the entire monitored application.
labels: []
metrics:
- name: pihole.dns_queries_total
description: DNS Queries Total (Cached, Blocked and Forwarded)
unit: queries
chart_type: line
dimensions:
- name: queries
- name: pihole.dns_queries
description: DNS Queries
unit: queries
chart_type: stacked
dimensions:
- name: cached
- name: blocked
- name: forwarded
- name: pihole.dns_queries_percentage
description: DNS Queries Percentage
unit: percentage
chart_type: stacked
dimensions:
- name: cached
- name: blocked
- name: forwarded
- name: pihole.unique_clients
description: Unique Clients
unit: clients
chart_type: line
dimensions:
- name: unique
- name: pihole.domains_on_blocklist
description: Domains On Blocklist
unit: domains
chart_type: line
dimensions:
- name: blocklist
- name: pihole.blocklist_last_update
description: Blocklist Last Update
unit: seconds
chart_type: line
dimensions:
- name: ago
- name: pihole.unwanted_domains_blocking_status
description: Unwanted Domains Blocking Status
unit: status
chart_type: line
dimensions:
- name: enabled
- name: disabled
- name: pihole.dns_queries_types
description: DNS Queries Per Type
unit: percentage
chart_type: stacked
dimensions:
- name: a
- name: aaaa
- name: any
- name: ptr
- name: soa
- name: srv
- name: txt
- name: pihole.dns_queries_forwarded_destination
description: DNS Queries Per Destination
unit: percentage
chart_type: stacked
dimensions:
- name: cached
- name: blocked
- name: other