github.com/netdata/go.d.plugin@v0.58.1/modules/powerdns_recursor/integrations/powerdns_recursor.md (about)

     1  <!--startmeta
     2  custom_edit_url: "https://github.com/netdata/go.d.plugin/edit/master/modules/powerdns_recursor/README.md"
     3  meta_yaml: "https://github.com/netdata/go.d.plugin/edit/master/modules/powerdns_recursor/metadata.yaml"
     4  sidebar_label: "PowerDNS Recursor"
     5  learn_status: "Published"
     6  learn_rel_path: "Data Collection/DNS and DHCP Servers"
     7  most_popular: False
     8  message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
     9  endmeta-->
    10  
    11  # PowerDNS Recursor
    12  
    13  
    14  <img src="https://netdata.cloud/img/powerdns.svg" width="150"/>
    15  
    16  
    17  Plugin: go.d.plugin
    18  Module: powerdns_recursor
    19  
    20  <img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />
    21  
    22  ## Overview
    23  
    24  This collector monitors PowerDNS Recursor instances.
    25  
    26  It collects metrics from [the internal webserver](https://doc.powerdns.com/recursor/http-api/index.html#built-in-webserver-and-http-api).
    27  
    28  Used endpoints:
    29  
    30  - [`/api/v1/servers/localhost/statistics`](https://doc.powerdns.com/recursor/common/api/endpoint-statistics.html)
    31  
    32  
    33  
    34  
    35  This collector is supported on all platforms.
    36  
    37  This collector supports collecting metrics from multiple instances of this integration, including remote instances.
    38  
    39  
    40  ### Default Behavior
    41  
    42  #### Auto-Detection
    43  
    44  This integration doesn't support auto-detection.
    45  
    46  #### Limits
    47  
    48  The default configuration for this integration does not impose any limits on data collection.
    49  
    50  #### Performance Impact
    51  
    52  The default configuration for this integration is not expected to impose a significant performance impact on the system.
    53  
    54  
    55  ## Metrics
    56  
    57  Metrics grouped by *scope*.
    58  
    59  The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
    60  
    61  
    62  
    63  ### Per PowerDNS Recursor instance
    64  
    65  These metrics refer to the entire monitored application.
    66  
    67  This scope has no labels.
    68  
    69  Metrics:
    70  
    71  | Metric | Dimensions | Unit |
    72  |:------|:----------|:----|
    73  | powerdns_recursor.questions_in | total, tcp, ipv6 | questions/s |
    74  | powerdns_recursor.questions_out | udp, tcp, ipv6, throttled | questions/s |
    75  | powerdns_recursor.answer_time | 0-1ms, 1-10ms, 10-100ms, 100-1000ms, slow | queries/s |
    76  | powerdns_recursor.timeouts | total, ipv4, ipv6 | timeouts/s |
    77  | powerdns_recursor.drops | over-capacity-drops, query-pipe-full-drops, too-old-drops, truncated-drops, empty-queries | drops/s |
    78  | powerdns_recursor.cache_usage | cache-hits, cache-misses, packet-cache-hits, packet-cache-misses | events/s |
    79  | powerdns_recursor.cache_size | cache, packet-cache, negative-cache | entries |
    80  
    81  
    82  
    83  ## Alerts
    84  
    85  There are no alerts configured by default for this integration.
    86  
    87  
    88  ## Setup
    89  
    90  ### Prerequisites
    91  
    92  #### Enable webserver
    93  
    94  Follow [webserver](https://doc.powerdns.com/recursor/http-api/index.html#webserver) documentation.
    95  
    96  
    97  #### Enable HTTP API
    98  
    99  Follow [HTTP API](https://doc.powerdns.com/recursor/http-api/index.html#enabling-the-api) documentation.
   100  
   101  
   102  
   103  ### Configuration
   104  
   105  #### File
   106  
   107  The configuration file name for this integration is `go.d/powerdns_recursor.conf`.
   108  
   109  
   110  You can edit the configuration file using the `edit-config` script from the
   111  Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#the-netdata-config-directory).
   112  
   113  ```bash
   114  cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
   115  sudo ./edit-config go.d/powerdns_recursor.conf
   116  ```
   117  #### Options
   118  
   119  The following options can be defined globally: update_every, autodetection_retry.
   120  
   121  
   122  <details><summary>Config options</summary>
   123  
   124  | Name | Description | Default | Required |
   125  |:----|:-----------|:-------|:--------:|
   126  | update_every | Data collection frequency. | 5 | no |
   127  | autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no |
   128  | url | Server URL. | http://127.0.0.1:8081 | yes |
   129  | timeout | HTTP request timeout. | 1 | no |
   130  | username | Username for basic HTTP authentication. |  | no |
   131  | password | Password for basic HTTP authentication. |  | no |
   132  | proxy_url | Proxy URL. |  | no |
   133  | proxy_username | Username for proxy basic HTTP authentication. |  | no |
   134  | proxy_password | Password for proxy basic HTTP authentication. |  | no |
   135  | method | HTTP request method. | GET | no |
   136  | body | HTTP request body. |  | no |
   137  | headers | HTTP request headers. |  | no |
   138  | not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no |
   139  | tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no |
   140  | tls_ca | Certification authority that the client uses when verifying the server's certificates. |  | no |
   141  | tls_cert | Client TLS certificate. |  | no |
   142  | tls_key | Client TLS key. |  | no |
   143  
   144  </details>
   145  
   146  #### Examples
   147  
   148  ##### Basic
   149  
   150  An example configuration.
   151  
   152  <details><summary>Config</summary>
   153  
   154  ```yaml
   155  jobs:
   156    - name: local
   157      url: http://127.0.0.1:8081
   158  
   159  ```
   160  </details>
   161  
   162  ##### HTTP authentication
   163  
   164  Basic HTTP authentication.
   165  
   166  <details><summary>Config</summary>
   167  
   168  ```yaml
   169  jobs:
   170    - name: local
   171      url: http://127.0.0.1:8081
   172      username: admin
   173      password: password
   174  
   175  ```
   176  </details>
   177  
   178  ##### Multi-instance
   179  
   180  > **Note**: When you define multiple jobs, their names must be unique.
   181  
   182  Local and remote instances.
   183  
   184  
   185  <details><summary>Config</summary>
   186  
   187  ```yaml
   188  jobs:
   189    - name: local
   190      url: http://127.0.0.1:8081
   191  
   192    - name: remote
   193      url: http://203.0.113.0:8081
   194  
   195  ```
   196  </details>
   197  
   198  
   199  
   200  ## Troubleshooting
   201  
   202  ### Debug Mode
   203  
   204  To troubleshoot issues with the `powerdns_recursor` collector, run the `go.d.plugin` with the debug option enabled. The output
   205  should give you clues as to why the collector isn't working.
   206  
   207  - Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on
   208    your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.
   209  
   210    ```bash
   211    cd /usr/libexec/netdata/plugins.d/
   212    ```
   213  
   214  - Switch to the `netdata` user.
   215  
   216    ```bash
   217    sudo -u netdata -s
   218    ```
   219  
   220  - Run the `go.d.plugin` to debug the collector:
   221  
   222    ```bash
   223    ./go.d.plugin -d -m powerdns_recursor
   224    ```
   225  
   226