dnsquery

package
v0.48.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2022 License: GPL-3.0 Imports: 11 Imported by: 1

README

DNS query monitoring with Netdata

This module provides DNS query round-trip time (RTT).

Metrics

All metrics have "dns_query." prefix.

Labels per scope:

  • server: server, network, record_type.
Metric Scope Dimensions Units
query_time server query_time seconds
query_status server success, network_error, dns_error status

Configuration

Edit the go.d/dns_query.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata # Replace this path with your Netdata config directory
sudo ./edit-config go.d/dns_query.conf

Here is an example:

jobs:
  - name: job1
    record_types:
      - A
      - AAAA
    domains:
      - google.com
      - github.com
      - reddit.com
    servers:
      - 8.8.8.8
      - 8.8.4.4

For all available options please see module configuration file.

Troubleshooting

To troubleshoot issues with the dns_query collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

  • Navigate to the plugins.d directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the plugins setting under [directories].

    cd /usr/libexec/netdata/plugins.d/
    
  • Switch to the netdata user.

    sudo -u netdata -s
    
  • Run the go.d.plugin to debug the collector:

    ./go.d.plugin -d -m dns_query
    

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config added in v0.40.4

type Config struct {
	Domains     []string
	Servers     []string
	Network     string
	RecordType  string   `yaml:"record_type"`
	RecordTypes []string `yaml:"record_types"`
	Port        int
	Timeout     web.Duration
}

type DNSQuery

type DNSQuery struct {
	module.Base

	Config `yaml:",inline"`
	// contains filtered or unexported fields
}

func New

func New() *DNSQuery

func (*DNSQuery) Charts

func (d *DNSQuery) Charts() *module.Charts

func (*DNSQuery) Check

func (d *DNSQuery) Check() bool

func (*DNSQuery) Cleanup

func (d *DNSQuery) Cleanup()

func (*DNSQuery) Collect

func (d *DNSQuery) Collect() map[string]int64

func (*DNSQuery) Init

func (d *DNSQuery) Init() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL