Pi-hole

Supported OS Linux Mac OS

통합 버전3.14.1

개요

이 점검은 Datadog 에이전트를 통해 Pi-hole을 모니터링합니다.

설정

Pi-hole 점검은 Datadog 에이전트 패키지에 포함되어 있지 않으므로 설치해야 합니다.

설치

에이전트 v7.21+ / v6.21+의 경우, 아래 지침에 따라 호스트에 파이홀 점검을 설치하세요. 도커(Docker) 에이전트 또는 이전 버전의 에이전트 과 함께 설치하려면 커뮤니티 통합을 참조하세요.

  1. 다음 명령어를 실행해 에이전트 통합을 설치하세요.

    sudo -u dd-agent -- datadog-agent integration install -t datadog-pihole==<INTEGRATION_VERSION>
    
  2. 통합을 코어 통합과 유사하게 설정하세요.

설정

  1. 에이전트 설정 디렉토리 루트의 conf.d/ 폴더에 있는 pihole.d/conf.yaml 파일을 편집하여 Pi-hole 성능 데이터 수집을 시작합니다. 사용 가능한 모든 설정 옵션은 샘플 pihole.d/conf.yaml을 참조하세요.

  2. 에이전트를 재시작합니다.

검증

에이전트 상태 하위 명령을 실행하고 점검 섹션에서 pihole을 찾습니다.

로그 수집

Linux 플랫폼의 경우 /etc/datadog-agent/datadog.yaml에서 Datadog 에이전트에 대해 로그 수집을 활성화합니다. 다른 플랫폼에서는 설정 파일의 위치에 대한 에이전트 설정 파일 가이드를 참조하세요.

logs_enabled: true
  • pihole.d/conf.yaml 파일에 이 설정 블록을 활성화하여 로그 수집을 시작하세요.
    logs:
      - type: file
        path: /var/log/pihole.log
        source: pihole
    

수집한 데이터

메트릭

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)

이벤트

Pi-hole에는 이벤트가 포함되어 있지 않습니다.

서비스 점검

pihole.running

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

Statuses: ok, critical

트러블슈팅

도움이 필요하신가요? Datadog 고객 지원팀에 문의하세요.