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