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