github.com/netdata/go.d.plugin@v0.58.1/modules/unbound/integrations/unbound.md (about) 1 <!--startmeta 2 custom_edit_url: "https://github.com/netdata/go.d.plugin/edit/master/modules/unbound/README.md" 3 meta_yaml: "https://github.com/netdata/go.d.plugin/edit/master/modules/unbound/metadata.yaml" 4 sidebar_label: "Unbound" 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 # Unbound 12 13 14 <img src="https://netdata.cloud/img/unbound.png" width="150"/> 15 16 17 Plugin: go.d.plugin 18 Module: unbound 19 20 <img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" /> 21 22 ## Overview 23 24 This collector monitors Unbound 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 Unbound 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 | unbound.queries | queries | queries | 68 | unbound.queries_ip_ratelimited | ratelimited | queries | 69 | unbound.dnscrypt_queries | crypted, cert, cleartext, malformed | queries | 70 | unbound.cache | hits, miss | events | 71 | unbound.cache_percentage | hits, miss | percentage | 72 | unbound.prefetch | prefetches | prefetches | 73 | unbound.expired | expired | replies | 74 | unbound.zero_ttl_replies | zero_ttl | replies | 75 | unbound.recursive_replies | recursive | replies | 76 | unbound.recursion_time | avg, median | milliseconds | 77 | unbound.request_list_usage | avg, max | queries | 78 | unbound.current_request_list_usage | all, users | queries | 79 | unbound.request_list_jostle_list | overwritten, dropped | queries | 80 | unbound.tcpusage | usage | buffers | 81 | unbound.uptime | time | seconds | 82 | unbound.cache_memory | message, rrset, dnscrypt_nonce, dnscrypt_shared_secret | KB | 83 | unbound.mod_memory | iterator, respip, validator, subnet, ipsec | KB | 84 | unbound.mem_streamwait | streamwait | KB | 85 | unbound.cache_count | infra, key, msg, rrset, dnscrypt_nonce, shared_secret | items | 86 | unbound.type_queries | a dimension per query type | queries | 87 | unbound.class_queries | a dimension per query class | queries | 88 | unbound.opcode_queries | a dimension per query opcode | queries | 89 | unbound.flag_queries | qr, aa, tc, rd, ra, z, ad, cd | queries | 90 | unbound.rcode_answers | a dimension per reply rcode | replies | 91 92 ### Per thread 93 94 These metrics refer to threads. 95 96 This scope has no labels. 97 98 Metrics: 99 100 | Metric | Dimensions | Unit | 101 |:------|:----------|:----| 102 | unbound.thread_queries | queries | queries | 103 | unbound.thread_queries_ip_ratelimited | ratelimited | queries | 104 | unbound.thread_dnscrypt_queries | crypted, cert, cleartext, malformed | queries | 105 | unbound.thread_cache | hits, miss | events | 106 | unbound.thread_cache_percentage | hits, miss | percentage | 107 | unbound.thread_prefetch | prefetches | prefetches | 108 | unbound.thread_expired | expired | replies | 109 | unbound.thread_zero_ttl_replies | zero_ttl | replies | 110 | unbound.thread_recursive_replies | recursive | replies | 111 | unbound.thread_recursion_time | avg, median | milliseconds | 112 | unbound.thread_request_list_usage | avg, max | queries | 113 | unbound.thread_current_request_list_usage | all, users | queries | 114 | unbound.thread_request_list_jostle_list | overwritten, dropped | queries | 115 | unbound.thread_tcpusage | usage | buffers | 116 117 118 119 ## Alerts 120 121 There are no alerts configured by default for this integration. 122 123 124 ## Setup 125 126 ### Prerequisites 127 128 #### Enable remote control interface 129 130 Set `control-enable` to yes in [unbound.conf](https://nlnetlabs.nl/documentation/unbound/unbound.conf). 131 132 133 #### Check permissions and adjust if necessary 134 135 If using unix socket: 136 137 - socket should be readable and writeable by `netdata` user 138 139 If using ip socket and TLS is disabled: 140 141 - socket should be accessible via network 142 143 If TLS is enabled, in addition: 144 145 - `control-key-file` should be readable by `netdata` user 146 - `control-cert-file` should be readable by `netdata` user 147 148 For auto-detection parameters from `unbound.conf`: 149 150 - `unbound.conf` should be readable by `netdata` user 151 - if you have several configuration files (include feature) all of them should be readable by `netdata` user 152 153 154 155 ### Configuration 156 157 #### File 158 159 The configuration file name for this integration is `go.d/unbound.conf`. 160 161 162 You can edit the configuration file using the `edit-config` script from the 163 Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#the-netdata-config-directory). 164 165 ```bash 166 cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata 167 sudo ./edit-config go.d/unbound.conf 168 ``` 169 #### Options 170 171 The following options can be defined globally: update_every, autodetection_retry. 172 173 174 <details><summary>Config options</summary> 175 176 | Name | Description | Default | Required | 177 |:----|:-----------|:-------|:--------:| 178 | update_every | Data collection frequency. | 5 | no | 179 | autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | 180 | address | Server address in IP:PORT format. | 127.0.0.1:8953 | yes | 181 | timeout | Connection/read/write/ssl handshake timeout. | 1 | no | 182 | conf_path | Absolute path to the unbound configuration file. | /etc/unbound/unbound.conf | no | 183 | cumulative_stats | Statistics collection mode. Should have the same value as the `statistics-cumulative` parameter in the unbound configuration file. | /etc/unbound/unbound.conf | no | 184 | use_tls | Whether to use TLS or not. | yes | no | 185 | tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | yes | no | 186 | tls_ca | Certificate authority that client use when verifying server certificates. | | no | 187 | tls_cert | Client tls certificate. | /etc/unbound/unbound_control.pem | no | 188 | tls_key | Client tls key. | /etc/unbound/unbound_control.key | no | 189 190 </details> 191 192 #### Examples 193 194 ##### Basic 195 196 An example configuration. 197 198 <details><summary>Config</summary> 199 200 ```yaml 201 jobs: 202 - name: local 203 address: 127.0.0.1:8953 204 205 ``` 206 </details> 207 208 ##### Unix socket 209 210 Connecting through Unix socket. 211 212 <details><summary>Config</summary> 213 214 ```yaml 215 jobs: 216 - name: socket 217 address: /var/run/unbound.sock 218 219 ``` 220 </details> 221 222 ##### Multi-instance 223 224 > **Note**: When you define multiple jobs, their names must be unique. 225 226 Local and remote instances. 227 228 229 <details><summary>Config</summary> 230 231 ```yaml 232 jobs: 233 - name: local 234 address: 127.0.0.1:8953 235 236 - name: remote 237 address: 203.0.113.11:8953 238 239 ``` 240 </details> 241 242 243 244 ## Troubleshooting 245 246 ### Debug Mode 247 248 To troubleshoot issues with the `unbound` collector, run the `go.d.plugin` with the debug option enabled. The output 249 should give you clues as to why the collector isn't working. 250 251 - Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on 252 your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. 253 254 ```bash 255 cd /usr/libexec/netdata/plugins.d/ 256 ``` 257 258 - Switch to the `netdata` user. 259 260 ```bash 261 sudo -u netdata -s 262 ``` 263 264 - Run the `go.d.plugin` to debug the collector: 265 266 ```bash 267 ./go.d.plugin -d -m unbound 268 ``` 269 270