| 1 | # yamllint disable rule:line-length |
| 2 | --- |
| 3 | id: 'export-opentsdb' |
| 4 | meta: |
| 5 | name: 'OpenTSDB' |
| 6 | link: 'https://github.com/OpenTSDB/opentsdb' |
| 7 | categories: |
| 8 | - export |
| 9 | icon_filename: 'opentsdb.png' |
| 10 | keywords: |
| 11 | - exporter |
| 12 | - OpenTSDB |
| 13 | - scalable time series |
| 14 | overview: |
| 15 | exporter_description: | |
| 16 | Use the OpenTSDB connector for the exporting engine to archive your Netdata metrics to OpenTSDB databases for long-term storage, |
| 17 | further analysis, or correlation with data from other sources. |
| 18 | exporter_limitations: '' |
| 19 | setup: |
| 20 | prerequisites: |
| 21 | list: |
| 22 | - title: '' |
| 23 | description: | |
| 24 | - OpenTSDB and Netdata, installed, configured and operational. |
| 25 | configuration: |
| 26 | file: |
| 27 | name: 'exporting.conf' |
| 28 | options: |
| 29 | description: 'The following options can be defined for this exporter.' |
| 30 | folding: |
| 31 | title: 'Config options' |
| 32 | enabled: true |
| 33 | list: |
| 34 | - name: 'enabled' |
| 35 | default_value: 'no' |
| 36 | description: 'Enables or disables an exporting connector instance (yes|no).' |
| 37 | required: true |
| 38 | - name: 'destination' |
| 39 | default_value: 'no' |
| 40 | description: 'Accepts a space separated list of hostnames, IPs (IPv4 and IPv6) and ports to connect to. Netdata will use the first available to send the metrics.' |
| 41 | required: true |
| 42 | detailed_description: | |
| 43 | The format of each item in this list, is: [PROTOCOL:]IP[:PORT]. |
| 44 | - PROTOCOL can be udp or tcp. tcp is the default and only supported by the current exporting engine. |
| 45 | - IP can be XX.XX.XX.XX (IPv4), or [XX:XX...XX:XX] (IPv6). For IPv6 you can to enclose the IP in [] to separate it from the port. |
| 46 | - PORT can be a number of a service name. If omitted, the default port for the exporting connector will be used (opentsdb = 4242). |
| 47 | |
| 48 | Example IPv4: |
| 49 | ```yaml |
| 50 | destination = 10.11.14.2:4242 10.11.14.3:4242 10.11.14.4:4242 |
| 51 | ``` |
| 52 | Example IPv6 and IPv4 together: |
| 53 | ```yaml |
| 54 | destination = [ffff:...:0001]:2003 10.11.12.1:2003 |
| 55 | ``` |
| 56 | When multiple servers are defined, Netdata will try the next one when the previous one fails. |
| 57 | - name: 'username' |
| 58 | default_value: 'my_username' |
| 59 | description: 'Username for HTTP authentication' |
| 60 | required: false |
| 61 | - name: 'password' |
| 62 | default_value: 'my_password' |
| 63 | description: 'Password for HTTP authentication' |
| 64 | required: false |
| 65 | - name: 'data source' |
| 66 | default_value: '' |
| 67 | description: 'Selects the kind of data that will be sent to the external database. (as collected|average|sum)' |
| 68 | required: false |
| 69 | - name: 'hostname' |
| 70 | default_value: '[global].hostname' |
| 71 | description: 'The hostname to be used for sending data to the external database server.' |
| 72 | required: false |
| 73 | - name: 'prefix' |
| 74 | default_value: 'Netdata' |
| 75 | description: 'The prefix to add to all metrics.' |
| 76 | required: false |
| 77 | - name: 'update every' |
| 78 | default_value: '10' |
| 79 | description: | |
| 80 | Frequency of sending sending data to the external database, in seconds. |
| 81 | required: false |
| 82 | detailed_description: | |
| 83 | Netdata will add some randomness to this number, to prevent stressing the external server when many Netdata servers |
| 84 | send data to the same database. This randomness does not affect the quality of the data, only the time they are sent. |
| 85 | - name: 'buffer on failures' |
| 86 | default_value: '10' |
| 87 | description: | |
| 88 | The number of iterations (`update every` seconds) to buffer data, when the external database server is not available. |
| 89 | required: false |
| 90 | detailed_description: | |
| 91 | If the server fails to receive the data after that many failures, data loss on the connector instance is expected (Netdata will also log it). |
| 92 | - name: 'timeout ms' |
| 93 | default_value: '2 * update_every * 1000' |
| 94 | description: 'The timeout in milliseconds to wait for the external database server to process the data.' |
| 95 | required: false |
| 96 | - name: 'send hosts matching' |
| 97 | default_value: 'localhost *' |
| 98 | description: | |
| 99 | Hosts filter. Determines which hosts will be sent to OpenTSDB. The syntax is [simple patterns](https://github.com/netdata/netdata/tree/master/src/libnetdata/simple_pattern#simple-patterns). |
| 100 | required: false |
| 101 | detailed_description: | |
| 102 | Includes one or more space separated patterns, using * as wildcard (any number of times within each pattern). |
| 103 | The patterns are checked against the hostname (the localhost is always checked as localhost), allowing us to |
| 104 | filter which hosts will be sent to the external database when this Netdata is a central Netdata aggregating multiple hosts. |
| 105 | |
| 106 | A pattern starting with `!` gives a negative match. So to match all hosts named `*db*` except hosts containing `*child*`, |
| 107 | use `!*child* *db*` (so, the order is important: the first pattern matching the hostname will be used - positive or negative). |
| 108 | - name: 'send charts matching' |
| 109 | default_value: '*' |
| 110 | description: | |
| 111 | One or more space separated patterns (use * as wildcard) checked against both chart id and chart name. |
| 112 | required: false |
| 113 | detailed_description: | |
| 114 | A pattern starting with ! gives a negative match. So to match all charts named apps.* except charts ending in *reads, |
| 115 | use !*reads apps.* (so, the order is important: the first pattern matching the chart id or the chart name will be used, |
| 116 | positive or negative). There is also a URL parameter filter that can be used while querying allmetrics. The URL parameter |
| 117 | has a higher priority than the configuration option. |
| 118 | - name: 'send names instead of ids' |
| 119 | default_value: '' |
| 120 | description: 'Controls the metric names Netdata should send to the external database (yes|no).' |
| 121 | required: false |
| 122 | detailed_description: | |
| 123 | Netdata supports names and IDs for charts and dimensions. Usually IDs are unique identifiers as read by the system and names |
| 124 | are human friendly labels (also unique). Most charts and metrics have the same ID and name, but in several cases they are |
| 125 | different : disks with device-mapper, interrupts, QoS classes, statsd synthetic charts, etc. |
| 126 | - name: 'send configured labels' |
| 127 | default_value: '' |
| 128 | description: 'Controls if host labels defined in the `[host labels]` section in `netdata.conf` should be sent to the external database (yes|no).' |
| 129 | required: false |
| 130 | - name: 'send automatic labels' |
| 131 | default_value: '' |
| 132 | description: 'Controls if automatically created labels, like `_os_name` or `_architecture` should be sent to the external database (yes|no).' |
| 133 | required: false |
| 134 | examples: |
| 135 | folding: |
| 136 | enabled: true |
| 137 | title: '' |
| 138 | list: |
| 139 | - name: 'Minimal configuration' |
| 140 | folding: |
| 141 | enabled: false |
| 142 | description: | |
| 143 | Add `:http` or `:https` modifiers to the connector type if you need to use other than a plaintext protocol. |
| 144 | For example: `opentsdb:http:my_opentsdb_instance`, `opentsdb:https:my_opentsdb_instance`. |
| 145 | config: | |
| 146 | [opentsdb:my_opentsdb_instance] |
| 147 | enabled = yes |
| 148 | destination = localhost:4242 |
| 149 | - name: 'HTTP authentication' |
| 150 | folding: |
| 151 | enabled: false |
| 152 | description: '' |
| 153 | config: | |
| 154 | [opentsdb:my_opentsdb_instance] |
| 155 | enabled = yes |
| 156 | destination = localhost:4242 |
| 157 | username = my_username |
| 158 | password = my_password |
| 159 | - name: 'Using `send hosts matching`' |
| 160 | folding: |
| 161 | enabled: false |
| 162 | description: '' |
| 163 | config: | |
| 164 | [opentsdb:my_opentsdb_instance] |
| 165 | enabled = yes |
| 166 | destination = localhost:4242 |
| 167 | send hosts matching = localhost * |
| 168 | - name: 'Using `send charts matching`' |
| 169 | folding: |
| 170 | enabled: false |
| 171 | description: '' |
| 172 | config: | |
| 173 | [opentsdb:my_opentsdb_instance] |
| 174 | enabled = yes |
| 175 | destination = localhost:4242 |
| 176 | send charts matching = * |