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

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