master
yaml 320 lines 12.8 KB
Raw
1 plugin_name: go.d.plugin
2 modules:
3 - meta:
4 id: collector-go.d.plugin-rethinkdb
5 plugin_name: go.d.plugin
6 module_name: rethinkdb
7 monitored_instance:
8 name: RethinkDB
9 link: https://rethinkdb.com
10 categories:
11 - data-collection.databases
12 icon_filename: "rethinkdb.png"
13 related_resources:
14 integrations:
15 list: []
16 info_provided_to_referring_integrations:
17 description: ""
18 keywords:
19 - rethinkdb
20 - database
21 - db
22 overview:
23 data_collection:
24 metrics_description: |
25 It collects cluster-wide metrics such as server status, client connections, active clients, query rate, and document read/write rates.
26 For each server, it offers similar metrics.
27 method_description: |
28 The data is gathered by querying the stats table in RethinkDB, which stores real-time statistics related to the cluster and its individual servers.
29 It also provides a `running-queries` function using the `rethinkdb.jobs` system table (admin-only).
30 supported_platforms:
31 include: []
32 exclude: []
33 multi_instance: true
34 additional_permissions:
35 description: ""
36 default_behavior:
37 auto_detection:
38 description: |
39 If no configuration is given, collector will attempt to connect to RethinkDB instance on `127.0.0.1:28015` address.
40 limits:
41 description: ""
42 performance_impact:
43 description: ""
44 setup:
45 prerequisites:
46 list: []
47 configuration:
48 file:
49 name: go.d/rethinkdb.conf
50 options:
51 description: |
52 The following options can be defined globally: update_every, autodetection_retry.
53 folding:
54 title: Config options
55 enabled: true
56 list:
57 - name: update_every
58 description: Data collection frequency (seconds).
59 default_value: 1
60 required: false
61 group: Collection
62 - name: autodetection_retry
63 description: Autodetection retry interval (seconds). Set 0 to disable.
64 default_value: 0
65 required: false
66 group: Collection
67
68 - name: address
69 description: RethinkDB server address (IP:PORT).
70 default_value: 127.0.0.1:28015
71 required: true
72 group: Target
73 - name: timeout
74 description: Connection, read, and write timeout duration (seconds). Includes name resolution.
75 default_value: 1
76 required: false
77 group: Target
78
79 - name: username
80 description: Username for authentication.
81 default_value: ""
82 required: false
83 group: Auth
84 - name: password
85 description: Password for authentication.
86 default_value: ""
87 required: false
88 group: Auth
89
90 - name: functions.running_queries.disabled
91 description: Disable the [running-queries](#running-queries) function.
92 default_value: false
93 required: false
94 group: Functions
95 - name: functions.running_queries.timeout
96 description: Timeout for the running-queries function query (seconds). If not set, uses the collector's timeout.
97 default_value: (collector timeout)
98 required: false
99 group: Functions
100 - name: functions.running_queries.limit
101 description: Maximum number of rows returned by the running-queries function.
102 default_value: 500
103 required: false
104 group: Functions
105
106 - name: vnode
107 description: Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).
108 default_value: ""
109 required: false
110 group: Virtual Node
111 examples:
112 folding:
113 title: Config
114 enabled: true
115 list:
116 - name: Basic
117 description: A basic example configuration.
118 config: |
119 jobs:
120 - name: local
121 address: 127.0.0.1:28015
122 - name: With authentication
123 description: An example configuration with authentication.
124 config: |
125 jobs:
126 - name: local
127 address: 127.0.0.1:28015
128 username: name
129 password: pass
130 - name: Multi-instance
131 description: |
132 > **Note**: When you define multiple jobs, their names must be unique.
133
134 Collecting metrics from local and remote instances.
135 config: |
136 jobs:
137 - name: local
138 address: 127.0.0.1:28015
139
140 - name: remote
141 address: 203.0.113.0:28015
142 troubleshooting:
143 problems:
144 list: []
145 alerts: []
146 functions:
147 description: |
148 This collector exposes real-time functions for interactive troubleshooting in the Live tab.
149 list:
150 - id: running-queries
151 name: Running Queries
152 description: |
153 Retrieves currently executing queries from the RethinkDB [rethinkdb.jobs](https://rethinkdb.com/docs/system-jobs/) system table.
154
155 This function queries the `rethinkdb.jobs` system table which contains information about background tasks and queries currently running on the cluster. It provides query text, execution duration, client information, and involved servers.
156
157 Use cases:
158 - Identify long-running queries that may be blocking resources
159 - Monitor active query load across the cluster
160 - Investigate client connections generating heavy workloads
161
162 Query text is truncated at 4096 characters for display purposes.
163 parameters:
164 - id: __sort
165 name: Filter By
166 description: Select the primary sort column. Defaults to duration to focus on longest-running queries.
167 type: select
168 required: true
169 default: durationMs
170 options: []
171 returns:
172 description: Currently running queries from the `rethinkdb.jobs` system table. Each row represents a single active query with its execution context.
173 columns:
174 - name: Job ID
175 type: string
176 unit: ""
177 visibility: hidden
178 description: Unique identifier for the job entry. Can be used to track or kill specific queries.
179 - name: Query
180 type: string
181 unit: ""
182 description: The ReQL query text being executed. Truncated to 4096 characters. May contain literal values from application code.
183 - name: Duration
184 type: duration
185 unit: "milliseconds"
186 description: Time elapsed since the query started executing. High values indicate long-running queries that may need investigation.
187 - name: Type
188 type: string
189 unit: ""
190 description: Job type (e.g., query, index_construction, disk_compaction). Useful for distinguishing user queries from background tasks.
191 - name: User
192 type: string
193 unit: ""
194 description: RethinkDB user account that initiated the query. Useful for identifying workload by user or application.
195 - name: Client Address
196 type: string
197 unit: ""
198 visibility: hidden
199 description: IP address of the client connection that submitted the query.
200 - name: Client Port
201 type: integer
202 unit: ""
203 visibility: hidden
204 description: Port number of the client connection.
205 - name: Servers
206 type: string
207 unit: ""
208 visibility: hidden
209 description: Comma-separated list of servers involved in executing this query.
210 performance: |
211 Queries the `rethinkdb.jobs` system table:<br/>• Minimal overhead as it reads from an in-memory system table<br/>• Default limit of 500 rows balances completeness with performance<br/>• Returns only currently active queries (no historical data)
212 security: |
213 Query text may contain unmasked literal values including potentially sensitive data:<br/>• Document field values in filter conditions<br/>• User-provided data in insert/update operations<br/>• Access should be restricted to authorized personnel only
214 prerequisites:
215 list:
216 - title: Grant admin access to `rethinkdb.jobs`
217 description: |
218 The user must have admin privileges to query the `rethinkdb.jobs` system table.
219
220 1. Connect with an admin user account that has access to system tables
221
222 2. Verify access to `rethinkdb.jobs`:
223
224 ```javascript
225 r.db('rethinkdb').table('jobs').run(conn)
226 ```
227
228 :::info
229
230 - The `rethinkdb.jobs` table is only accessible to admin users
231 - Non-admin users will receive a permission error when attempting to query this table
232 - The collector's regular metrics do not require admin access
233
234 :::
235 availability: |
236 Available when:<br/>• The collector has successfully connected to RethinkDB<br/>• The user has admin access to `rethinkdb.jobs` table<br/>• Returns HTTP 503 if collector is still initializing<br/>• Returns HTTP 500 if the query fails<br/>• Returns HTTP 504 if the query times out
237 require_cloud: true
238 metrics:
239 folding:
240 title: Metrics
241 enabled: false
242 description: ""
243 availability: []
244 scopes:
245 - name: global
246 description: "These metrics refer to the entire monitored application."
247 labels: []
248 metrics:
249 - name: rethinkdb.cluster_servers_stats_request
250 description: Cluster Servers Stats Request
251 unit: "servers"
252 chart_type: line
253 dimensions:
254 - name: success
255 - name: timeout
256 - name: rethinkdb.cluster_client_connections
257 description: Cluster Client Connections
258 unit: "connections"
259 chart_type: line
260 dimensions:
261 - name: connections
262 - name: rethinkdb.cluster_active_clients
263 description: Cluster Active Clients
264 unit: "clients"
265 chart_type: line
266 dimensions:
267 - name: active
268 - name: rethinkdb.cluster_queries
269 description: Cluster Queries
270 unit: "queries/s"
271 chart_type: line
272 dimensions:
273 - name: queries
274 - name: rethinkdb.cluster_documents
275 description: Cluster Documents
276 unit: "documents/s"
277 chart_type: line
278 dimensions:
279 - name: read
280 - name: written
281 - name: server
282 description: "These metrics refer to the server (cluster member)."
283 labels:
284 - name: server_uuid
285 description: Server UUID.
286 - name: server_name
287 description: Server name.
288 metrics:
289 - name: rethinkdb.server_stats_request_status
290 description: Server Stats Request Status
291 unit: "status"
292 chart_type: line
293 dimensions:
294 - name: success
295 - name: timeout
296 - name: rethinkdb.server_client_connections
297 description: Server Client Connections
298 unit: "connections"
299 chart_type: line
300 dimensions:
301 - name: connections
302 - name: rethinkdb.server_active_clients
303 description: Server Active Clients
304 unit: "clients"
305 chart_type: line
306 dimensions:
307 - name: active
308 - name: rethinkdb.server_queries
309 description: Server Queries
310 unit: "queries/s"
311 chart_type: line
312 dimensions:
313 - name: queries
314 - name: rethinkdb.server_documents
315 description: Server Documents
316 unit: "documents/s"
317 chart_type: line
318 dimensions:
319 - name: read
320 - name: written