Supported OS

Versión de la integración3.14.1

Información general

Este check monitoriza Pi-hole a través del Datadog Agent.

Configuración

El check de Pi-hole no está incluido en el paquete del Datadog Agent, por lo que es necesario instalarlo.

Instalación

Para versiones 7.21/6.21 o posteriores del Agent, sigue las siguientes instrucciones para instalar el check de Pi-hole en tu host. Para instalarlo con el Agent Docker o versiones anteriores del Agent, consulta Uso de integraciones de la comunidad.

  1. Ejecuta el siguiente comando para instalar la integración del Agent:

    sudo -u dd-agent -- datadog-agent integration install -t datadog-pihole==<INTEGRATION_VERSION>
    
  2. Configura tu integración como si fuese una integración de base.

Configuración

  1. Edita el archivo pihole.d/conf.yaml, que se encuentra en la carpeta conf.d/ en la raíz del directorio de configuración del Agent, para empezar a recopilar los datos de rendimiento de tu Pi-hole. Para conocer todas las opciones de configuración disponibles, consulta el pihole.d/conf.yaml de ejemplo.

  2. Reinicia el Agent.

Validación

Ejecuta el subcomando de estado del Agent y busca pihole en la sección Checks.

Recopilación de logs

Habilita la recopilación de logs para el Datadog Agent en /etc/datadog-agent/datadog.yaml en plataformas Linux. En otras plataformas, consulta la guía Archivos de configuración del Agent para ver la ubicación de tu archivo de configuración:

logs_enabled: true
  • Habilita este bloque de configuración en tu archivo pihole.d/conf.yaml para empezar a recopilar logs:
    logs:
      - type: file
        path: /var/log/pihole.log
        source: pihole
    

Datos recopilados

Métricas

pihole.queries.blocked
(gauge)
Number of queries that were blocked (i.e. matched gravity block lists/regex/ denylist or upstream blocking).
pihole.queries.cached
(gauge)
Number of queries answered from Pihole cache.
pihole.queries.clients.active
(gauge)
Number of currently active clients (recent queries).
pihole.queries.clients.total
(gauge)
Total number of clients observed.
pihole.queries.forwarded
(gauge)
Number of queries forwarded to upstream DNS servers (i.e. allowed queries).
pihole.queries.frequency
(gauge)
Query frequency or rate (e.g. queries per second).
pihole.queries.gravity.domains_being_blocked
(gauge)
Number of domains currently blocked by the gravity blocklist.
pihole.queries.percent_blocked
(gauge)
Percentage of total queries that were blocked.
pihole.queries.replies.BLOB
(gauge)
Replies containing binary blob data.
pihole.queries.replies.CNAME
(gauge)
Replies that return a CNAME (alias).
pihole.queries.replies.DOMAIN
(gauge)
Replies with a domain name.
pihole.queries.replies.DNSSEC
(gauge)
Replies indicating DNSSEC-specific status.
pihole.queries.replies.IP
(gauge)
Replies that return an IP (A or AAAA record).
pihole.queries.replies.NODATA
(gauge)
Replies that return ‘No Data’ (empty response).
pihole.queries.replies.NONE
(gauge)
Replies dropped intentionally (no response).
pihole.queries.replies.NOTIMP
(gauge)
Replies with ‘Not Implemented’ status.
pihole.queries.replies.NXDOMAIN
(gauge)
Replies that return NXDOMAIN (non-existent domain).
pihole.queries.replies.OTHER
(gauge)
Replies of types not otherwise classified.
pihole.queries.replies.REFUSED
(gauge)
Replies with ‘Refused’ status.
pihole.queries.replies.RRNAME
(gauge)
Replies that indicate the domain name in the query (RRNAME).
pihole.queries.replies.SERVFAIL
(gauge)
Replies with ‘Server Failure’ status.
pihole.queries.replies.UNKNOWN
(gauge)
Replies with unknown type (no reply yet).
pihole.queries.status.CACHE
(gauge)
Queries answered from cache.
pihole.queries.status.CACHE_STALE
(gauge)
Queries answered from a stale cached response.
pihole.queries.status.DBBUSY
(gauge)
Queries blocked because the internal database was busy.
pihole.queries.status.DENYLIST
(gauge)
Queries blocked by an exact denylist entry.
pihole.queries.status.DENYLIST_CNAME
(gauge)
Queries blocked during deep CNAME inspection due to denylist.
pihole.queries.status.EXTERNAL_BLOCKED_EDE15
(gauge)
Queries blocked by upstream server with EDE code 15.
pihole.queries.status.EXTERNAL_BLOCKED_IP
(gauge)
Queries blocked by upstream server via IP blocking.
pihole.queries.status.EXTERNAL_BLOCKED_NXRA
(gauge)
Queries blocked when upstream returns NXDOMAIN with RA bit unset.
pihole.queries.status.EXTERNAL_BLOCKED_NULL
(gauge)
Queries blocked due to upstream returning null (0.0.0.0 / ::) response.
pihole.queries.status.FORWARDED
(gauge)
Queries allowed and forwarded to upstream resolver.
pihole.queries.status.GRAVITY
(gauge)
Queries blocked by the gravity blocklist.
pihole.queries.status.GRAVITY_CNAME
(gauge)
Queries blocked during deep CNAME inspection in gravity list.
pihole.queries.status.IN_PROGRESS
(gauge)
Queries currently in progress (not yet resolved).
pihole.queries.status.REGEX
(gauge)
Queries blocked by regex filters.
pihole.queries.status.REGEX_CNAME
(gauge)
Queries blocked during deep CNAME inspection due to regex.
pihole.queries.status.RETRIED
(gauge)
Queries that were retried (e.g. after failure).
pihole.queries.status.RETRIED_DNSSEC
(gauge)
Queries retried during DNSSEC validation.
pihole.queries.status.SPECIAL_DOMAIN
(gauge)
Queries about special domains (e.g. Apple Private Relay/ canary domains).
pihole.queries.status.UNKNOWN
(gauge)
Queries whose status is ‘Unknown’ (not yet classified).
pihole.queries.total
(gauge)
Total number of DNS queries received by Pihole (all types).
pihole.queries.types.A
(gauge)
Count of DNS queries of type A (IPv4 address record).
pihole.queries.types.AAAA
(gauge)
Count of DNS queries of type AAAA (IPv6 address record).
pihole.queries.types.ANY
(gauge)
Count of DNS queries of type ANY (request for all record types).
pihole.queries.types.DNSKEY
(gauge)
Count of DNS queries of type DNSKEY (DNSSEC public key).
pihole.queries.types.DS
(gauge)
Count of DNS queries of type DS (delegation signer/ DNSSEC).
pihole.queries.types.HTTPS
(gauge)
Count of DNS queries of type HTTPS (HTTPS service binding).
pihole.queries.types.MX
(gauge)
Count of DNS queries of type MX (mail exchange record).
pihole.queries.types.NAPTR
(gauge)
Count of DNS queries of type NAPTR (name authority pointer).
pihole.queries.types.NS
(gauge)
Count of DNS queries of type NS (name server record).
pihole.queries.types.OTHER
(gauge)
Count of queries of types not in the standard set.
pihole.queries.types.PTR
(gauge)
Count of DNS queries of type PTR (pointer records/ typically reverse DNS).
pihole.queries.types.RRSIG
(gauge)
Count of DNS queries of type RRSIG (DNSSEC signature record).
pihole.queries.types.SOA
(gauge)
Count of DNS queries of type SOA (start of authority).
pihole.queries.types.SRV
(gauge)
Count of DNS queries of type SRV (service locator record).
pihole.queries.types.SVCB
(gauge)
Count of DNS queries of type SVCB (service binding).
pihole.queries.types.TXT
(gauge)
Count of DNS queries of type TXT (text records).
pihole.queries.unique_domains
(gauge)
Number of unique domain names queried in the measured period.
pihole.queries_forwarded
(gauge)
Queries not blocked (legacy check only)
Shown as query
pihole.domains_being_blocked
(gauge)
Domains that are currently being blocked (legacy check only)
pihole.ads_percent_blocked
(gauge)
Percentage of ads blocked today (legacy check only)
Shown as percent
pihole.ads_blocked_today
(gauge)
Number of ads blocked today (legacy check only)
pihole.dns_queries_today
(gauge)
Amount of queries made to Pi-hole (legacy check only)
pihole.clients_ever_seen
(gauge)
Total clients (legacy check only)
pihole.unique_clients
(gauge)
Total number of unique clients (legacy check only)
pihole.queries_cached
(gauge)
Number of cached queries (legacy check only)
Shown as query
pihole.unique_domains
(gauge)
Number of unique domains seen (legacy check only)
pihole.reply_nodata
(gauge)
Number of no data replies (legacy check only)
pihole.reply_cname
(gauge)
Number of cname replies (legacy check only)
pihole.reply_ip
(gauge)
Number of ip replies (legacy check only)
pihole.reply_nxdomain
(gauge)
Number of nxdomain replies (legacy check only)
pihole.dns_queries_all_types
(gauge)
Amount of queries made to Pi-hole of all types (legacy check only)

Eventos

Pi-hole no incluye eventos.

Checks de servicio

pihole.running

Returns CRITICAL if the check can’t access pihole, OK otherwise.

Statuses: ok, critical

Solucionar problemas

¿Necesitas ayuda? Contacta con el equipo de asistencia de Datadog.