@cryptotaxi247 / netdata-1 / commits / 0ce3c83e7

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 +