Create multi_metadata.yaml for graphite exporters (#15576)
* Create multi_metadata.yaml for graphite exporters * Update multi_metadata.yaml * Update multi_metadata.yaml * Update multi_metadata.yaml
Shyam Sreevalsan committed
Jul 27, 2023 at 20:26 UTC
982b23728d162958c0d2f6ad8b45bddfc1bc0877
1 file changed
+212
exporting/graphite/multi_metadata.yaml
new
+212
@@ -0,0 +1,212 @@
1
+# yamllint disable rule:line-length
2
+---
3
+- &graphexport
4
+ id: 'export-graphite'
5
+ meta: &meta
6
+ name: 'Graphite'
7
+ link: 'https://graphite.readthedocs.io/en/latest/'
8
+ categories:
9
+ - export
10
+ icon_filename: 'graphite.png'
11
+ keywords:
12
+ - exporter
13
+ - graphite
14
+ - remote write
15
+ - time series
16
+ overview:
17
+ exporter_description: |
18
+ Use the Graphite connector for the exporting engine to archive your Netdata metrics to Graphite providers for long-term storage,
19
+ further analysis, or correlation with data from other sources.
20
+ exporter_limitations: ''
21
+ setup:
22
+ prerequisites:
23
+ list:
24
+ - title: ''
25
+ description: |
26
+ - You have already installed Netdata and Graphite.
27
+ configuration:
28
+ file:
29
+ name: 'exporting.conf'
30
+ options:
31
+ description: 'The following options can be defined for this exporter.'
32
+ folding:
33
+ title: 'Config options'
34
+ enabled: true
35
+ list:
36
+ - name: 'enabled'
37
+ default_value: 'no'
38
+ description: 'Enables or disables an exporting connector instance (yes|no).'
39
+ required: true
40
+ - name: 'destination'
41
+ default_value: 'no'
42
+ 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.'
43
+ required: true
44
+ detailed_description: |
45
+ The format of each item in this list, is: [PROTOCOL:]IP[:PORT].
46
+ - PROTOCOL can be udp or tcp. tcp is the default and only supported by the current exporting engine.
47
+ - 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.
48
+ - PORT can be a number of a service name. If omitted, the default port for the exporting connector will be used.
49
+
50
+ Example IPv4:
51
+ ```yaml
52
+ destination = 10.11.14.2:2003 10.11.14.3:4242 10.11.14.4:2003
53
+ ```
54
+ Example IPv6 and IPv4 together:
55
+ ```yaml
56
+ destination = [ffff:...:0001]:2003 10.11.12.1:2003
57
+ ```
58
+ When multiple servers are defined, Netdata will try the next one when the previous one fails.
59
+ - name: 'username'
60
+ default_value: 'my_username'
61
+ description: 'Username for HTTP authentication'
62
+ required: false
63
+ - name: 'password'
64
+ default_value: 'my_password'
65
+ description: 'Password for HTTP authentication'
66
+ required: false
67
+ - name: 'data source'
68
+ default_value: ''
69
+ description: 'Selects the kind of data that will be sent to the external database. (as collected|average|sum)'
70
+ required: false
71
+ - name: 'hostname'
72
+ default_value: '[global].hostname'
73
+ description: 'The hostname to be used for sending data to the external database server.'
74
+ required: false
75
+ - name: 'prefix'
76
+ default_value: 'netdata'
77
+ description: 'The prefix to add to all metrics.'
78
+ required: false
79
+ - name: 'update every'
80
+ default_value: '10'
81
+ description: |
82
+ Frequency of sending sending data to the external database, in seconds.
83
+ required: false
84
+ detailed_description: |
85
+ Netdata will add some randomness to this number, to prevent stressing the external server when many Netdata servers
86
+ send data to the same database. This randomness does not affect the quality of the data, only the time they are sent.
87
+ - name: 'buffer on failures'
88
+ default_value: '10'
89
+ description: |
90
+ The number of iterations (`update every` seconds) to buffer data, when the external database server is not available.
91
+ required: false
92
+ detailed_description: |
93
+ 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).
94
+ - name: 'timeout ms'
95
+ default_value: '20000'
96
+ description: 'The timeout in milliseconds to wait for the external database server to process the data.'
97
+ required: false
98
+ - name: 'send hosts matching'
99
+ default_value: 'localhost *'
100
+ description: |
101
+ Hosts filter. Determines which hosts will be sent to the external database. The syntax is [simple patterns](https://github.com/netdata/netdata/tree/master/libnetdata/simple_pattern#simple-patterns).
102
+ required: false
103
+ detailed_description: |
104
+ Includes one or more space separated patterns, using * as wildcard (any number of times within each pattern).
105
+ The patterns are checked against the hostname (the localhost is always checked as localhost), allowing us to
106
+ filter which hosts will be sent to the external database when this Netdata is a central Netdata aggregating multiple hosts.
107
+
108
+ A pattern starting with `!` gives a negative match. So to match all hosts named `*db*` except hosts containing `*child*`,
109
+ use `!*child* *db*` (so, the order is important: the first pattern matching the hostname will be used - positive or negative).
110
+ - name: 'send charts matching'
111
+ default_value: '*'
112
+ description: |
113
+ One or more space separated patterns (use * as wildcard) checked against both chart id and chart name.
114
+ required: false
115
+ detailed_description: |
116
+ A pattern starting with ! gives a negative match. So to match all charts named apps.* except charts ending in *reads,
117
+ use !*reads apps.* (so, the order is important: the first pattern matching the chart id or the chart name will be used,
118
+ positive or negative). There is also a URL parameter filter that can be used while querying allmetrics. The URL parameter
119
+ has a higher priority than the configuration option.
120
+ - name: 'send names instead of ids'
121
+ default_value: ''
122
+ description: 'Controls the metric names Netdata should send to the external database (yes|no).'
123
+ required: false
124
+ detailed_description: |
125
+ Netdata supports names and IDs for charts and dimensions. Usually IDs are unique identifiers as read by the system and names
126
+ are human friendly labels (also unique). Most charts and metrics have the same ID and name, but in several cases they are
127
+ different : disks with device-mapper, interrupts, QoS classes, statsd synthetic charts, etc.
128
+ - name: 'send configured labels'
129
+ default_value: ''
130
+ description: 'Controls if host labels defined in the `[host labels]` section in `netdata.conf` should be sent to the external database (yes|no).'
131
+ required: false
132
+ - name: 'send automatic labels'
133
+ default_value: ''
134
+ description: 'Controls if automatically created labels, like `_os_name` or `_architecture` should be sent to the external database (yes|no).'
135
+ required: false
136
+ examples:
137
+ folding:
138
+ enabled: true
139
+ title: ''
140
+ list:
141
+ - name: 'Example configuration'
142
+ folding:
143
+ enabled: false
144
+ description: 'Basic configuration'
145
+ config: |
146
+ [graphite:netdata]
147
+ enabled = yes
148
+ destination = localhost:2003
149
+ - name: 'Configuration with HTTPS and HTTP authentication'
150
+ folding:
151
+ enabled: false
152
+ description: 'Add `:https` modifier to the connector type if you need to use the TLS/SSL protocol. For example: `remote_write:https:my_instance`.'
153
+ config: |
154
+ [graphite:netdata]
155
+ enabled = yes
156
+ destination = localhost:2003
157
+ username = my_username
158
+ password = my_password
159
+ - name: 'Detailed Configuration for a remote, secure host'
160
+ folding:
161
+ enabled: false
162
+ description: 'Add `:https` modifier to the connector type if you need to use the TLS/SSL protocol. For example: `remote_write:https:my_instance`.'
163
+ config: |
164
+ [graphite:https:netdata]
165
+ enabled = yes
166
+ username = my_username
167
+ password = my_password
168
+ destination = 10.10.1.114:2003
169
+ # data source = average
170
+ # prefix = netdata
171
+ # hostname = my_hostname
172
+ # update every = 10
173
+ # buffer on failures = 10
174
+ # timeout ms = 20000
175
+ # send names instead of ids = yes
176
+ # send charts matching = *
177
+ # send hosts matching = localhost *
178
+- <<: *promexport
179
+ id: 'export-blueflood'
180
+ meta:
181
+ <<: *meta
182
+ name: Blueflood
183
+ link: http://blueflood.io/
184
+ icon_filename: blueflood.png
185
+ keywords:
186
+ - export
187
+ - Blueflood
188
+ - graphite
189
+- <<: *promexport
190
+ id: 'export-influxdb'
191
+ meta:
192
+ <<: *meta
193
+ name: InfluxDB
194
+ link: https://www.influxdata.com/
195
+ icon_filename: influxdb.svg
196
+ keywords:
197
+ - InfluxDB
198
+ - Influx
199
+ - export
200
+ - graphite
201
+- <<: *promexport
202
+ id: 'export-kairosdb'
203
+ meta:
204
+ <<: *meta
205
+ name: KairosDB
206
+ link: https://kairosdb.github.io/
207
+ icon_filename: kairos.png
208
+ keywords:
209
+ - KairosDB
210
+ - kairos
211
+ - export
212
+ - graphite