Pi-hole

Supported OS Linux Mac OS Windows

Intégration3.14.1

Présentation

Ce check permet de surveiller Pi-hole avec l’Agent Datadog.

Configuration

Le check Pi-hole n’est pas inclus avec le package de l’Agent Datadog : vous devez donc l’installer.

Installation

Pour l’Agent v7.21+/6.21+, suivez les instructions ci-dessous afin d’installer le check Pi-hole sur votre host. Consultez la section Utiliser les intégrations de la communauté pour effectuer une installation avec l’Agent Docker ou avec des versions antérieures de l’Agent.

  1. Exécutez la commande suivante pour installer l’intégration de l’Agent :

    sudo -u dd-agent -- datadog-agent integration install -t datadog-pihole==<INTEGRATION_VERSION>
    
  2. Configurez votre intégration comme une intégration de base.

Configuration

  1. Modifiez le fichier pihole.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos données de performance Pi-hole. Consultez le fichier d’exemple pihole.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

  2. Redémarrez l’Agent.

Validation

Lancez la sous-commande status de l’Agent et cherchez pihole dans la section Checks.

Collecte de logs

Sur les plateformes Linux, l’activation de la collecte de logs pour l’Agent Datadog se fait dans /etc/datadog-agent/datadog.yaml. Sur les autres plateformes, consultez la section Fichiers de configuration de l’Agent pour connaître l’emplacement de votre fichier de configuration :

logs_enabled: true
  • Activez ce bloc de configuration dans votre fichier pihole.d/conf.yaml pour commencer à recueillir vos logs :
    logs:
      - type: file
        path: /var/log/pihole.log
        source: pihole
    

Données collectées

Métriques

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)

Événements

Pi-hole n’inclut aucun événement.

Checks de service

pihole.running

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

Statuses: ok, critical

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.