github.com/netdata/go.d.plugin@v0.58.1/modules/bind/README.md (about) 1 <!-- 2 title: "Bind9 monitoring with Netdata" 3 description: "Monitor the health and performance of Bind9 DNS servers with zero configuration, per-second metric granularity, and interactive visualizations." 4 custom_edit_url: "https://github.com/netdata/go.d.plugin/edit/master/modules/bind/README.md" 5 sidebar_label: "Bind9" 6 learn_status: "Published" 7 learn_topic_type: "References" 8 learn_rel_path: "Integrations/Monitor/Webapps" 9 --> 10 11 # Bind9 collector 12 13 [`Bind9`](https://www.isc.org/bind/) (or named) is a very flexible, full-featured DNS system. 14 15 This module will monitor one or more `Bind9` servers, depending on your configuration. 16 17 ## Requirements 18 19 - `bind` version 9.9+ with configured `statistics-channels` 20 21 For detail information on how to get your bind installation ready, please refer to the following articles: 22 23 - [bind statistics channel developer comments](http://jpmens.net/2013/03/18/json-in-bind-9-s-statistics-server/) 24 - [bind documentation](https://ftp.isc.org/isc/bind/9.10.3/doc/arm/Bv9ARM.ch06.html#statistics) 25 - [bind Knowledge Base article AA-01123](https://kb.isc.org/article/AA-01123/0). 26 27 Normally, you will need something like this in your `named.conf.options`: 28 29 ``` 30 statistics-channels { 31 inet 127.0.0.1 port 8653 allow { 127.0.0.1; }; 32 inet ::1 port 8653 allow { ::1; }; 33 }; 34 ``` 35 36 ## Charts 37 38 It produces the following charts: 39 40 - Global Received Requests by IP version (IPv4, IPv6) in `requests/s` 41 - Global Successful Queries in `queries/s` 42 - Global Recursive Clients in `clients` 43 - Global Queries by IP Protocol (TCP, UDP) in `queries/s` 44 - Global Queries Analysis in `queries/s` 45 - Global Received Updates in `updates/s` 46 - Global Query Failures in `failures/s` 47 - Global Query Failures Analysis in `failures/s` 48 - Global Server Statistics in `operations/s` 49 - Global Incoming Requests by OpCode in `requests/s` 50 - Global Incoming Requests by Query Type in `requests/s` 51 52 Per View Statistics (the following set will be added for each bind view): 53 54 - Resolver Active Queries in `queries` 55 - Resolver Statistics in `operations/s` 56 - Resolver Round Trip Time in `queries/s` 57 - Resolver Requests by Query Type in `requests/s` 58 - Resolver Cache Hits in `operations/s` 59 60 ## Configuration 61 62 Edit the `go.d/bind.conf` configuration file using `edit-config` from the 63 Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically at `/etc/netdata`. 64 65 ```bash 66 cd /etc/netdata # Replace this path with your Netdata config directory 67 sudo ./edit-config go.d/bind.conf 68 ``` 69 70 Needs only `url`. Here is an example for several servers: 71 72 ```yaml 73 jobs: 74 - name: local 75 url: http://127.0.0.1:8653/json/v1 76 77 - name: local 78 url: http://127.0.0.1:8653/xml/v3 79 80 - name: remote 81 url: http://203.0.113.10:8653/xml/v3 82 83 - name: local_with_views 84 url: http://127.0.0.1:8653/json/v1 85 permit_view: '!_* *' 86 ``` 87 88 View filter syntax: [simple patterns](https://docs.netdata.cloud/libnetdata/simple_pattern/). 89 90 For all available options please see 91 module [configuration file](https://github.com/netdata/go.d.plugin/blob/master/config/go.d/bind.conf). 92 93 ## Troubleshooting 94 95 To troubleshoot issues with the `bind` collector, run the `go.d.plugin` with the debug option enabled. The output should 96 give you clues as to why the collector isn't working. 97 98 - Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on 99 your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. 100 101 ```bash 102 cd /usr/libexec/netdata/plugins.d/ 103 ``` 104 105 - Switch to the `netdata` user. 106 107 ```bash 108 sudo -u netdata -s 109 ``` 110 111 - Run the `go.d.plugin` to debug the collector: 112 113 ```bash 114 ./go.d.plugin -d -m bind 115 ``` 116 117