PowerDNS Recursor 监控

免费使用此 InfluxDB 集成

PowerDNS Recursor 是一个高性能的解析域名服务器,用于为超过一亿的用户提供 DNS 解析服务。

为什么使用 PowerDNS Recursor 的 Telegraf 插件?

域名系统将人类可识别的域名映射到存储和提供每个域名网站的实际 IP 地址的计算机的实际 IP 地址。

每次您访问一个网站时,都会涉及到 4 个不同的 DNS 服务器。第一个是 DNS 查询服务器,它在发出请求的客户端(如智能手机或笔记本电脑)和其余 DNS 网络之间充当中间人。DNS 解析器可以直接返回答案,如果它已经存储了域名名的 IP 地址,或者通过询问 DNS 根服务器来获取信息。DNS 根服务器可能需要从权威名称服务器请求该信息。还有 TLD 服务器,它们维护着 .com、.net 以及更多常见域名扩展的信息。

通过使用 PowerDNS 的 Telegraf 插件,您可以轻松地高效监控您使用 PowerDNS 运行的任何 DNS 服务器。Telegraf 可以通过最少的配置设置,然后将数据发送到 InfluxDB,InfluxDB 可以处理大量数据而不会出现任何问题。

DNS 监控对于性能和安全都很重要。如果您遇到 DNS 问题,用户最明显的性能问题是无法访问您的网站或应用。从安全角度来看,您可以监控类似 DNS 污染这样的安全攻击,恶意行为者试图将虚假信息插入您的 DNS 缓存,以将用户重定向到您网站的假冒版本或尝试收集私人数据。DDOS 攻击也是使用 Telegraf 监控 powerDNS 的另一个原因。DDOS 是一种分布式拒绝服务攻击,它使用多台计算机尝试通过大量请求来使网站或应用崩溃。

没有 DNS 监控,您的应用程序将更容易受到这些类型攻击的侵害。

如何使用 Telegraf 插件监控 PowerDNS Recursor

设置 PowerDNS Recursor 比较简单,只需要几行配置

[[inputs.powerdns_recursor]]
  ## Path to the Recursor control socket.
  unix_sockets = ["/var/run/pdns_recursor.controlsocket"]

  ## Directory to create receive socket.  This default is likely not writable,
  ## please reference the full plugin documentation for a recommended setup.
  # socket_dir = "/var/run/"
  ## Socket permissions for the receive socket.
  # socket_mode = "0666"

Telegraf 需要读写权限,因为它使用 Unix 控制套接字从 PowerDNS 读取指标。以下配置已在 Debian Stretch 上进行测试,可能需要根据其他系统进行一些调整。

首先,在PowerDNS递归查询器的配置中更改控制套接字的权限。这通常位于 /etc/powerdns/recursor.conf

socket-mode = 660

接下来,将Telegraf放置到pdns组中

usermod telegraf -a -G pdns

Telegraf无法写入默认的 /var/run 套接字目录,因此您需要创建一个子目录并调整权限,以便用户都可以访问它

mkdir /var/run/pdns
chown root:pdns /var/run/pdns
chmod 770 /var/run/pdns

用于监控的关键PowerDNS递归查询器指标

PowerDNS递归查询器Telegraf输入插件提供了大量您可以在下面看到的指标

  • powerdns_recursor
    • 标签
      • 服务器
    • 字段
      • all-outqueries
      • answers-slow
      • answers0-1
      • answers1-10
      • answers10-100
      • answers100-1000
      • auth-zone-queries
      • auth4-answers-slow
      • auth4-answers0-1
      • auth4-answers1-10
      • auth4-answers10-100
      • auth4-answers100-1000
      • auth6-answers-slow
      • auth6-answers0-1
      • auth6-answers1-10
      • auth6-answers10-100
      • auth6-answers100-1000
      • cache-entries
      • cache-hits
      • cache-misses
      • case-mismatches
      • chain-resends
      • client-parse-errors
      • concurrent-queries
      • dlg-only-drops
      • dnssec-queries
      • dnssec-result-bogus
      • dnssec-result-indeterminate
      • dnssec-result-insecure
      • dnssec-result-nta
      • dnssec-result-secure
      • dnssec-validations
      • dont-outqueries
      • ecs-queries
      • ecs-responses
      • edns-ping-matches
      • edns-ping-mismatches
      • failed-host-entries
      • fd-usage
      • ignored-packets
      • ipv6-outqueries
      • ipv6-questions
      • malloc-bytes
      • max-cache-entries
      • max-mthread-stack
      • max-packetcache-entries
      • negcache-entries
      • no-packet-error
      • noedns-outqueries
      • noerror-answers
      • noping-outqueries
      • nsset-invalidations
      • nsspeeds-entries
      • nxdomain-answers
      • outgoing-timeouts
      • outgoing4-timeouts
      • outgoing6-timeouts
      • over-capacity-drops
      • packetcache-entries
      • packetcache-hits
      • packetcache-misses
      • policy-drops
      • policy-result-custom
      • policy-result-drop
      • policy-result-noaction
      • policy-result-nodata
      • policy-result-nxdomain
      • policy-result-truncate
      • qa-latency
      • query-pipe-full-drops
      • questions
      • real-memory-usage
      • resource-limits
      • security-status
      • server-parse-errors
      • servfail-answers
      • spoof-prevents
      • sys-msec
      • tcp-client-overflow
      • tcp-clients
      • tcp-outqueries
      • tcp-questions
      • throttle-entries
      • throttled-out
      • throttled-outqueries
      • too-old-drops
      • udp-in-errors
      • udp-noport-errors
      • udp-recvbuf-errors
      • udp-sndbuf-errors
      • unauthorized-tcp
      • unauthorized-udp
      • unexpected-packets
      • unreachables
      • uptime
      • user-msec
      • x-our-latency
      • x-ourtime-slow
      • x-ourtime0-1
      • x-ourtime1-2
      • x-ourtime16-32
      • x-ourtime2-4
      • x-ourtime4-8
      • x-ourtime8-16

示例输出

powerdns_recursor,server=/var/run/pdns_recursor.controlsocket all-outqueries=3631810i,answers-slow=36863i,answers0-1=179612i,answers1-10=1223305i,answers10-100=1252199i,answers100-1000=408357i,auth-zone-queries=4i,auth4-answers-slow=44758i,auth4-answers0-1=59721i,auth4-answers1-10=1766787i,auth4-answers10-100=1329638i,auth4-answers100-1000=430372i,auth6-answers-slow=0i,auth6-answers0-1=0i,auth6-answers1-10=0i,auth6-answers10-100=0i,auth6-answers100-1000=0i,cache-entries=296689i,cache-hits=150654i,cache-misses=2949682i,case-mismatches=0i,chain-resends=420004i,client-parse-errors=0i,concurrent-queries=0i,dlg-only-drops=0i,dnssec-queries=152970i,dnssec-result-bogus=0i,dnssec-result-indeterminate=0i,dnssec-result-insecure=0i,dnssec-result-nta=0i,dnssec-result-secure=47i,dnssec-validations=47i,dont-outqueries=62i,ecs-queries=0i,ecs-responses=0i,edns-ping-matches=0i,edns-ping-mismatches=0i,failed-host-entries=21i,fd-usage=32i,ignored-packets=0i,ipv6-outqueries=0i,ipv6-questions=0i,malloc-bytes=0i,max-cache-entries=1000000i,max-mthread-stack=33747i,max-packetcache-entries=500000i,negcache-entries=100019i,no-packet-error=0i,noedns-outqueries=73341i,noerror-answers=25453808i,noping-outqueries=0i,nsset-invalidations=2398i,nsspeeds-entries=3966i,nxdomain-answers=3341302i,outgoing-timeouts=44384i,outgoing4-timeouts=44384i,outgoing6-timeouts=0i,over-capacity-drops=0i,packetcache-entries=78258i,packetcache-hits=25999027i,packetcache-misses=3100179i,policy-drops=0i,policy-result-custom=0i,policy-result-drop=0i,policy-result-noaction=3100336i,policy-result-nodata=0i,policy-result-nxdomain=0i,policy-result-truncate=0i,qa-latency=6553i,query-pipe-full-drops=0i,questions=29099363i,real-memory-usage=280494080i,resource-limits=0i,security-status=1i,server-parse-errors=0i,servfail-answers=304253i,spoof-prevents=0i,sys-msec=1312600i,tcp-client-overflow=0i,tcp-clients=0i,tcp-outqueries=116i,tcp-questions=133i,throttle-entries=21i,throttled-out=13296i,throttled-outqueries=13296i,too-old-drops=2i,udp-in-errors=4i,udp-noport-errors=2918i,udp-recvbuf-errors=0i,udp-sndbuf-errors=0i,unauthorized-tcp=0i,unauthorized-udp=0i,unexpected-packets=0i,unreachables=1708i,uptime=167482i,user-msec=1282640i,x-our-latency=19i,x-ourtime-slow=642i,x-ourtime0-1=3095566i,x-ourtime1-2=3401i,x-ourtime16-32=201i,x-ourtime2-4=304i,x-ourtime4-8=198i,x-ourtime8-16=24i 1533903879000000000
有关更多信息,请参阅文档。

项目URL   文档

相关资源

InfluxDb-cloud-logo

最强大的时间序列
数据库作为服务

免费开始
Influxdbu

开发者教育

为时间序列应用程序开发者提供培训。

查看所有教育