Regenerate integrations docs (#19394)
Co-authored-by: ilyam8 <22274335+ilyam8@users.noreply.github.com>
Netdata bot committed
Jan 13, 2025 at 14:13 UTC
0ce3c83e70d2ba571f44691652b441c9ba075ca2
3 files changed
+516
src/collectors/COLLECTORS.md
+2
@@ -279,6 +279,8 @@ If you don't see the app/service you'd like to monitor in this list:
279
280
- [Warp10](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/integrations/warp10.md)
281
282
+- [YugabyteDB](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/yugabytedb/integrations/yugabytedb.md)
283
+
284
- [pgBackRest](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/prometheus/integrations/pgbackrest.md)
285
286
### Distributed Computing Systems
src/go/plugin/go.d/collector/yugabytedb/README.md
new
+1
@@ -0,0 +1 @@
1
+integrations/yugabytedb.md
\ No newline at end of file
src/go/plugin/go.d/collector/yugabytedb/integrations/yugabytedb.md
new
+513
@@ -0,0 +1,513 @@
1
+<!--startmeta
2
+custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/yugabytedb/README.md"
3
+meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/yugabytedb/metadata.yaml"
4
+sidebar_label: "YugabyteDB"
5
+learn_status: "Published"
6
+learn_rel_path: "Collecting Metrics/Databases"
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
+# YugabyteDB
12
+
13
+
14
+<img src="https://netdata.cloud/img/yugabytedb.svg" width="150"/>
15
+
16
+
17
+Plugin: go.d.plugin
18
+Module: yugabytedb
19
+
20
+<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />
21
+
22
+## Overview
23
+
24
+This collector monitors the activity and performance of YugabyteDB servers.
25
+
26
+
27
+It sends HTTP requests to the YugabyteDB [metric endpoints](https://docs.yugabyte.com/preview/launch-and-manage/monitor-and-alert/metrics/#metric-endpoints).
28
+
29
+
30
+This collector is supported on all platforms.
31
+
32
+This collector supports collecting metrics from multiple instances of this integration, including remote instances.
33
+
34
+
35
+### Default Behavior
36
+
37
+#### Auto-Detection
38
+
39
+By default, it detects YugabyteDB instances running on localhost.
40
+On startup, it tries to collect metrics from:
41
+
42
+- http://127.0.0.1:7000/prometheus-metrics (Master)
43
+- http://127.0.0.1:9000/prometheus-metrics (Tablet Server)
44
+- http://127.0.0.1:12000/prometheus-metrics (YCQL)
45
+- http://127.0.0.1:13000/prometheus-metrics (YSQL)
46
+
47
+
48
+#### Limits
49
+
50
+The default configuration for this integration does not impose any limits on data collection.
51
+
52
+#### Performance Impact
53
+
54
+The default configuration for this integration is not expected to impose a significant performance impact on the system.
55
+
56
+
57
+## Metrics
58
+
59
+Metrics grouped by *scope*.
60
+
61
+The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
62
+
63
+
64
+
65
+### Per Master Client operations (Master)
66
+
67
+Metrics tracking latency and counts of Master Client RPC operations.
68
+
69
+Labels:
70
+
71
+| Label | Description |
72
+|:-----------|:----------------|
73
+| operation | The specific MasterClient RPC operation name. |
74
+
75
+Metrics:
76
+
77
+| Metric | Dimensions | Unit |
78
+|:------|:----------|:----|
79
+| yugabytedb.master_client_operations | operations | ops/s |
80
+| yugabytedb.master_client_operations_latency | latency | microseconds |
81
+
82
+### Per Master DDL operations
83
+
84
+Metrics tracking Data Definition Language (DDL) operations performed on the Master server.
85
+
86
+Labels:
87
+
88
+| Label | Description |
89
+|:-----------|:----------------|
90
+| operation | The specific DDL operation handler name. |
91
+
92
+Metrics:
93
+
94
+| Metric | Dimensions | Unit |
95
+|:------|:----------|:----|
96
+| yugabytedb.master_ddl_operations | operations | ops/s |
97
+| yugabytedb.master_ddl_operations_latency | latency | microseconds |
98
+
99
+### Per TabletServerService (Master)
100
+
101
+Metrics tracking latency and counts of TabletServer RPC operations on the Master server.
102
+
103
+Labels:
104
+
105
+| Label | Description |
106
+|:-----------|:----------------|
107
+| op | The specific TabletServer RPC operation name. |
108
+
109
+Metrics:
110
+
111
+| Metric | Dimensions | Unit |
112
+|:------|:----------|:----|
113
+| yugabytedb.master_tabletserverservice_operations | operations | ops/s |
114
+| yugabytedb.master_tabletserverservice_operations_latency | latency | microseconds |
115
+| yugabytedb.master_tabletserverservice_traffic | received, sent | bytes/s |
116
+
117
+### Per PgClientService (Master)
118
+
119
+Metrics tracking latency and counts of PostgreSQL client service RPC operations on the Master server.
120
+
121
+Labels:
122
+
123
+| Label | Description |
124
+|:-----------|:----------------|
125
+| operation | The specific PgClientService RPC operation name that handles PostgreSQL protocol requests and responses. |
126
+
127
+Metrics:
128
+
129
+| Metric | Dimensions | Unit |
130
+|:------|:----------|:----|
131
+| yugabytedb.master_pgclientservice_operations | operations | ops/s |
132
+| yugabytedb.master_pgclientservice_operations_latency | latency | microseconds |
133
+| yugabytedb.master_pgclientservice_traffic | received, sent | bytes/s |
134
+
135
+### Per RemoteBootstrapService (Master)
136
+
137
+Metrics tracking latency and counts of RemoteBootstrap RPC operations on the Master server.
138
+
139
+Labels:
140
+
141
+| Label | Description |
142
+|:-----------|:----------------|
143
+| operation | The specific RemoteBootstrap RPC operation name. |
144
+
145
+Metrics:
146
+
147
+| Metric | Dimensions | Unit |
148
+|:------|:----------|:----|
149
+| yugabytedb.master_remotebootstrapservice_operations | operations | ops/s |
150
+| yugabytedb.master_remotebootstrapservice_operations_latency | latency | microseconds |
151
+| yugabytedb.master_remotebootstrapservice_traffic | received, sent | bytes/s |
152
+
153
+### Per Raft operations (Master)
154
+
155
+Metrics tracking latency and counts of Raft consensus protocol operations on the Master server.
156
+
157
+Labels:
158
+
159
+| Label | Description |
160
+|:-----------|:----------------|
161
+| operation | The specific Raft protocol operation name. |
162
+
163
+Metrics:
164
+
165
+| Metric | Dimensions | Unit |
166
+|:------|:----------|:----|
167
+| yugabytedb.master_consensus_operations | operations | ops/s |
168
+| yugabytedb.master_consensus_operations_latency | latency | microseconds |
169
+| yugabytedb.master_consensus_traffic | received, sent | bytes/s |
170
+
171
+### Per TabletServerService (Tablet Server)
172
+
173
+Metrics tracking latency and counts of TabletServer RPC operations on the Tablet server.
174
+
175
+Labels:
176
+
177
+| Label | Description |
178
+|:-----------|:----------------|
179
+| op | The specific TabletServer RPC operation name. |
180
+
181
+Metrics:
182
+
183
+| Metric | Dimensions | Unit |
184
+|:------|:----------|:----|
185
+| yugabytedb.tserver_tabletserverservice_operations | operations | ops/s |
186
+| yugabytedb.tserver_tabletserverservice_operations_latency | latency | microseconds |
187
+| yugabytedb.tserver_tabletserverservice_traffic | received, sent | bytes/s |
188
+
189
+### Per TabletServerAdminService (Tablet Server)
190
+
191
+Metrics tracking latency and counts of TabletServerAdmin RPC operations on the Tablet server.
192
+
193
+Labels:
194
+
195
+| Label | Description |
196
+|:-----------|:----------------|
197
+| op | The specific TabletServerAdmin RPC operation name. |
198
+
199
+Metrics:
200
+
201
+| Metric | Dimensions | Unit |
202
+|:------|:----------|:----|
203
+| yugabytedb.tserver_tabletserveradminservice_operations | operations | ops/s |
204
+| yugabytedb.tserver_tabletserveradminservice_operations_latency | latency | microseconds |
205
+| yugabytedb.tserver_tabletserveradminservice_traffic | received, sent | bytes/s |
206
+
207
+### Per TabletServerBackupService (Tablet Server)
208
+
209
+Metrics tracking latency and counts of TabletServerBackup RPC operations on the Tablet server.
210
+
211
+Labels:
212
+
213
+| Label | Description |
214
+|:-----------|:----------------|
215
+| op | The specific TabletServerBackup RPC operation name. |
216
+
217
+Metrics:
218
+
219
+| Metric | Dimensions | Unit |
220
+|:------|:----------|:----|
221
+| yugabytedb.tserver_tabletserverbackupservice_operations | operations | ops/s |
222
+| yugabytedb.tserver_tabletserverbackupservice_operations_latency | latency | microseconds |
223
+| yugabytedb.tserver_tabletserverbackupservice_traffic | received, sent | bytes/s |
224
+
225
+### Per PgClientService (Tablet Server)
226
+
227
+Metrics tracking latency and counts of PostgreSQL client service RPC operations on the Tablet server.
228
+
229
+Labels:
230
+
231
+| Label | Description |
232
+|:-----------|:----------------|
233
+| operation | The specific PgClientService RPC operation name that handles PostgreSQL protocol requests and responses. |
234
+
235
+Metrics:
236
+
237
+| Metric | Dimensions | Unit |
238
+|:------|:----------|:----|
239
+| yugabytedb.tserver_pgclientservice_operations | operations | ops/s |
240
+| yugabytedb.tserver_pgclientservice_operations_latency | latency | microseconds |
241
+| yugabytedb.tserver_pgclientservice_traffic | received, sent | bytes/s |
242
+
243
+### Per RemoteBootstrapService (Tablet Server)
244
+
245
+Metrics tracking latency and counts of RemoteBootstrap RPC operations on the Tablet server.
246
+
247
+Labels:
248
+
249
+| Label | Description |
250
+|:-----------|:----------------|
251
+| operation | The specific RemoteBootstrap RPC operation name. |
252
+
253
+Metrics:
254
+
255
+| Metric | Dimensions | Unit |
256
+|:------|:----------|:----|
257
+| yugabytedb.tserver_remotebootstrapservice_operations | operations | ops/s |
258
+| yugabytedb.tserver_remotebootstrapservice_operations_latency | latency | microseconds |
259
+| yugabytedb.tserver_remotebootstrapservice_traffic | received, sent | bytes/s |
260
+
261
+### Per Raft operations (Tablet Server)
262
+
263
+Metrics tracking latency and counts of Raft consensus protocol operations on the Tablet server.
264
+
265
+Labels:
266
+
267
+| Label | Description |
268
+|:-----------|:----------------|
269
+| operation | The specific Raft protocol operation name. |
270
+
271
+Metrics:
272
+
273
+| Metric | Dimensions | Unit |
274
+|:------|:----------|:----|
275
+| yugabytedb.tserver_consensus_operations | operations | ops/s |
276
+| yugabytedb.tserver_consensus_operations_latency | latency | microseconds |
277
+| yugabytedb.tserver_consensus_traffic | received, sent | bytes/s |
278
+
279
+### Per SQL Statements (YCQL)
280
+
281
+Metrics tracking latency and counts of SQL statements on the YCQL server.
282
+
283
+Labels:
284
+
285
+| Label | Description |
286
+|:-----------|:----------------|
287
+| statement | The specific SQL statement name. |
288
+
289
+Metrics:
290
+
291
+| Metric | Dimensions | Unit |
292
+|:------|:----------|:----|
293
+| yugabytedb.ycql_sql_statements | statements | statements/s |
294
+| yugabytedb.yCql_sql_statements_latency | latency | microseconds |
295
+
296
+### Per YSQL server
297
+
298
+Metrics tracking connections on the YSQL server.
299
+
300
+This scope has no labels.
301
+
302
+Metrics:
303
+
304
+| Metric | Dimensions | Unit |
305
+|:------|:----------|:----|
306
+| yugabytedb.ysql_connection_usage | available, used | connections |
307
+| yugabytedb.ysql_active_connections | active | connections |
308
+| yugabytedb.ysql_established_connections | established | connections/s |
309
+| yugabytedb.ysql_over_limit_connections | over_limit | rejects/s |
310
+
311
+### Per SQL Statements (YSQL)
312
+
313
+Metrics tracking latency and counts of SQL statements on the YSQL server.
314
+
315
+Labels:
316
+
317
+| Label | Description |
318
+|:-----------|:----------------|
319
+| statement | The specific SQL statement name. |
320
+
321
+Metrics:
322
+
323
+| Metric | Dimensions | Unit |
324
+|:------|:----------|:----|
325
+| yugabytedb.ysql_sql_statements | statements | statements/s |
326
+| yugabytedb.ysql_sql_statements_latency | latency | microseconds |
327
+
328
+
329
+
330
+## Alerts
331
+
332
+There are no alerts configured by default for this integration.
333
+
334
+
335
+## Setup
336
+
337
+### Prerequisites
338
+
339
+No action required.
340
+
341
+### Configuration
342
+
343
+#### File
344
+
345
+The configuration file name for this integration is `go.d/yugabytedb.conf`.
346
+
347
+
348
+You can edit the configuration file using the [`edit-config`](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config) script from the
349
+Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).
350
+
351
+```bash
352
+cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
353
+sudo ./edit-config go.d/yugabytedb.conf
354
+```
355
+#### Options
356
+
357
+The following options can be defined globally: update_every, autodetection_retry.
358
+
359
+
360
+<details open><summary>Config options</summary>
361
+
362
+| Name | Description | Default | Required |
363
+|:----|:-----------|:-------|:--------:|
364
+| update_every | Data collection frequency. | 5 | no |
365
+| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no |
366
+| url | Server URL. | http://127.0.0.1:7000/prometheus-metrics | yes |
367
+| timeout | HTTP request timeout. | 1 | no |
368
+| username | Username for basic HTTP authentication. | | no |
369
+| password | Password for basic HTTP authentication. | | no |
370
+| proxy_url | Proxy URL. | | no |
371
+| proxy_username | Username for proxy basic HTTP authentication. | | no |
372
+| proxy_password | Password for proxy basic HTTP authentication. | | no |
373
+| method | HTTP request method. | GET | no |
374
+| body | HTTP request body. | | no |
375
+| headers | HTTP request headers. | | no |
376
+| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no |
377
+| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no |
378
+| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no |
379
+| tls_cert | Client TLS certificate. | | no |
380
+| tls_key | Client TLS key. | | no |
381
+
382
+</details>
383
+
384
+#### Examples
385
+
386
+##### Basic
387
+
388
+A basic example configuration.
389
+
390
+```yaml
391
+jobs:
392
+ - name: local
393
+ url: http://127.0.0.1:7000/prometheus-metrics # Master
394
+ # url: http://127.0.0.1:9000/prometheus-metrics # Tablet Server
395
+ # url: http://127.0.0.1:12000/prometheus-metrics # YCQL
396
+ # url: http://127.0.0.1:13000/prometheus-metrics # YSQL
397
+
398
+```
399
+##### HTTP authentication
400
+
401
+Basic HTTP authentication.
402
+
403
+<details open><summary>Config</summary>
404
+
405
+```yaml
406
+jobs:
407
+ - name: local
408
+ url: http://127.0.0.1:7000/prometheus-metrics
409
+ username: username
410
+ password: password
411
+
412
+```
413
+</details>
414
+
415
+##### HTTPS with self-signed certificate
416
+
417
+NGINX with enabled HTTPS and self-signed certificate.
418
+
419
+<details open><summary>Config</summary>
420
+
421
+```yaml
422
+jobs:
423
+ - name: local
424
+ url: https://127.0.0.1:7000/prometheus-metrics
425
+ tls_skip_verify: yes
426
+
427
+```
428
+</details>
429
+
430
+##### Multi-instance
431
+
432
+> **Note**: When you define multiple jobs, their names must be unique.
433
+
434
+Collecting metrics from local and remote instances.
435
+
436
+
437
+<details open><summary>Config</summary>
438
+
439
+```yaml
440
+jobs:
441
+ - name: local
442
+ url: http://127.0.0.1:7000/prometheus-metrics
443
+
444
+ - name: remote
445
+ url: http://192.0.2.1:7000/prometheus-metrics
446
+
447
+```
448
+</details>
449
+
450
+
451
+
452
+## Troubleshooting
453
+
454
+### Debug Mode
455
+
456
+**Important**: Debug mode is not supported for data collection jobs created via the UI using the Dyncfg feature.
457
+
458
+To troubleshoot issues with the `yugabytedb` collector, run the `go.d.plugin` with the debug option enabled. The output
459
+should give you clues as to why the collector isn't working.
460
+
461
+- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on
462
+ your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.
463
+
464
+ ```bash
465
+ cd /usr/libexec/netdata/plugins.d/
466
+ ```
467
+
468
+- Switch to the `netdata` user.
469
+
470
+ ```bash
471
+ sudo -u netdata -s
472
+ ```
473
+
474
+- Run the `go.d.plugin` to debug the collector:
475
+
476
+ ```bash
477
+ ./go.d.plugin -d -m yugabytedb
478
+ ```
479
+
480
+### Getting Logs
481
+
482
+If you're encountering problems with the `yugabytedb` collector, follow these steps to retrieve logs and identify potential issues:
483
+
484
+- **Run the command** specific to your system (systemd, non-systemd, or Docker container).
485
+- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.
486
+
487
+#### System with systemd
488
+
489
+Use the following command to view logs generated since the last Netdata service restart:
490
+
491
+```bash
492
+journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep yugabytedb
493
+```
494
+
495
+#### System without systemd
496
+
497
+Locate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:
498
+
499
+```bash
500
+grep yugabytedb /var/log/netdata/collector.log
501
+```
502
+
503
+**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.
504
+
505
+#### Docker Container
506
+
507
+If your Netdata runs in a Docker container named "netdata" (replace if different), use this command:
508
+
509
+```bash
510
+docker logs netdata 2>&1 | grep yugabytedb
511
+```
512
+
513
+