master
yaml 459 lines 16.3 KB
Raw
1 plugin_name: go.d.plugin
2 modules:
3 - meta:
4 id: collector-go.d.plugin-cassandra
5 module_name: cassandra
6 plugin_name: go.d.plugin
7 monitored_instance:
8 categories:
9 - data-collection.databases
10 icon_filename: cassandra.svg
11 name: Cassandra
12 link: https://cassandra.apache.org/_/index.html
13 alternative_monitored_instances: []
14 keywords:
15 - nosql
16 - dbms
17 - db
18 - database
19 related_resources:
20 integrations:
21 list: []
22 info_provided_to_referring_integrations:
23 description: ""
24 overview:
25 data_collection:
26 metrics_description: |
27 This collector gathers metrics about client requests, cache hits, and many more, while also providing metrics per each thread pool.
28 method_description: |
29 The [JMX Exporter](https://github.com/prometheus/jmx_exporter) is used to fetch metrics from a Cassandra instance and make them available at an endpoint like `http://127.0.0.1:7072/metrics`.
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 This collector discovers instances running on the local host that provide metrics on port 7072.
40
41 On startup, it tries to collect metrics from:
42
43 - http://127.0.0.1:7072/metrics
44 limits:
45 description: ""
46 performance_impact:
47 description: ""
48 setup:
49 prerequisites:
50 list:
51 - title: Configure Cassandra with Prometheus JMX Exporter
52 description: |
53 To configure Cassandra with the [JMX Exporter](https://github.com/prometheus/jmx_exporter):
54
55 > **Note**: paths can differ depends on your setup.
56
57 - Download latest [jmx_exporter](https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/) jar file
58 and install it in a directory where Cassandra can access it.
59 - Add
60 the [jmx_exporter.yaml](https://raw.githubusercontent.com/netdata/go.d.plugin/master/modules/cassandra/jmx_exporter.yaml)
61 file to `/etc/cassandra`.
62 - Add the following line to `/etc/cassandra/cassandra-env.sh`
63 ```
64 JVM_OPTS="$JVM_OPTS $JVM_EXTRA_OPTS -javaagent:/opt/jmx_exporter/jmx_exporter.jar=7072:/etc/cassandra/jmx_exporter.yaml
65 ```
66 - Restart cassandra service.
67 configuration:
68 file:
69 name: go.d/cassandra.conf
70 options:
71 description: |
72 The following options can be defined globally: update_every, autodetection_retry.
73 folding:
74 title: Config options
75 enabled: true
76 list:
77 - name: update_every
78 description: Data collection interval (seconds).
79 default_value: 5
80 required: false
81 group: Collection
82 - name: autodetection_retry
83 description: Autodetection retry interval (seconds). Set 0 to disable.
84 default_value: 0
85 required: false
86 group: Collection
87
88 - name: url
89 description: Target endpoint URL.
90 default_value: http://127.0.0.1:7072/metrics
91 required: true
92 group: Target
93 - name: timeout
94 description: HTTP request timeout (seconds).
95 default_value: 2
96 required: false
97 group: Target
98
99 - name: username
100 description: Username for Basic HTTP authentication.
101 default_value: ""
102 required: false
103 group: HTTP Auth
104 - name: password
105 description: Password for Basic HTTP authentication.
106 default_value: ""
107 required: false
108 group: HTTP Auth
109 - name: bearer_token_file
110 description: "Path to a file containing a bearer token (used for `Authorization: Bearer`)."
111 default_value: ""
112 required: false
113 group: HTTP Auth
114
115 - name: tls_skip_verify
116 description: Skip TLS certificate and hostname verification (insecure).
117 default_value: no
118 required: false
119 group: TLS
120 - name: tls_ca
121 description: Path to CA bundle used to validate the server certificate.
122 default_value: ""
123 required: false
124 group: TLS
125 - name: tls_cert
126 description: Path to client TLS certificate (for mTLS).
127 default_value: ""
128 required: false
129 group: TLS
130 - name: tls_key
131 description: Path to client TLS private key (for mTLS).
132 default_value: ""
133 required: false
134 group: TLS
135
136 - name: proxy_url
137 description: HTTP proxy URL.
138 default_value: ""
139 required: false
140 group: Proxy
141 - name: proxy_username
142 description: Username for proxy Basic HTTP authentication.
143 default_value: ""
144 required: false
145 group: Proxy
146 - name: proxy_password
147 description: Password for proxy Basic HTTP authentication.
148 default_value: ""
149 required: false
150 group: Proxy
151
152 - name: method
153 description: HTTP method to use.
154 default_value: GET
155 required: false
156 group: Request
157 - name: body
158 description: Request body (e.g., for POST/PUT).
159 default_value: ""
160 required: false
161 group: Request
162 - name: headers
163 description: "Additional HTTP headers (one per line as key: value)."
164 default_value: ""
165 required: false
166 group: Request
167 - name: not_follow_redirects
168 description: Do not follow HTTP redirects.
169 default_value: no
170 required: false
171 group: Request
172 - name: force_http2
173 description: Force HTTP/2 (including h2c over TCP).
174 default_value: no
175 required: false
176 group: Request
177
178 - name: vnode
179 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).
180 default_value: ""
181 required: false
182 group: Virtual Node
183 examples:
184 folding:
185 title: Config
186 enabled: true
187 list:
188 - name: Basic
189 folding:
190 enabled: false
191 description: A basic example configuration.
192 config: |
193 jobs:
194 - name: local
195 url: http://127.0.0.1:7072/metrics
196 - name: HTTP authentication
197 description: Local server with basic HTTP authentication.
198 config: |
199 jobs:
200 - name: local
201 url: http://127.0.0.1:7072/metrics
202 username: foo
203 password: bar
204 - name: HTTPS with self-signed certificate
205 description: Local server with enabled HTTPS and self-signed certificate.
206 config: |
207 jobs:
208 - name: local
209 url: https://127.0.0.1:7072/metrics
210 tls_skip_verify: yes
211 - name: Multi-instance
212 description: |
213 > **Note**: When you define multiple jobs, their names must be unique.
214
215 Collecting metrics from local and remote instances.
216 config: |
217 jobs:
218 - name: local
219 url: http://127.0.0.1:7072/metrics
220
221 - name: remote
222 url: http://192.0.2.1:7072/metrics
223 troubleshooting:
224 problems:
225 list: []
226 alerts: []
227 metrics:
228 folding:
229 title: Metrics
230 enabled: false
231 description: ""
232 availability: []
233 scopes:
234 - name: global
235 description: These metrics refer to the entire monitored application.
236 labels: []
237 metrics:
238 - name: cassandra.client_requests_rate
239 availability: []
240 description: Client requests rate
241 unit: requests/s
242 chart_type: line
243 dimensions:
244 - name: read
245 - name: write
246 - name: cassandra.client_request_read_latency_histogram
247 availability: []
248 description: Client request read latency histogram
249 unit: seconds
250 chart_type: line
251 dimensions:
252 - name: p50
253 - name: p75
254 - name: p95
255 - name: p98
256 - name: p99
257 - name: p999
258 - name: cassandra.client_request_write_latency_histogram
259 availability: []
260 description: Client request write latency histogram
261 unit: seconds
262 chart_type: line
263 dimensions:
264 - name: p50
265 - name: p75
266 - name: p95
267 - name: p98
268 - name: p99
269 - name: p999
270 - name: cassandra.client_requests_latency
271 availability: []
272 description: Client requests total latency
273 unit: seconds
274 chart_type: line
275 dimensions:
276 - name: read
277 - name: write
278 - name: cassandra.row_cache_hit_ratio
279 availability: []
280 description: Key cache hit ratio
281 unit: percentage
282 chart_type: line
283 dimensions:
284 - name: hit_ratio
285 - name: cassandra.row_cache_hit_rate
286 availability: []
287 description: Key cache hit rate
288 unit: events/s
289 chart_type: stacked
290 dimensions:
291 - name: hits
292 - name: misses
293 - name: cassandra.row_cache_utilization
294 availability: []
295 description: Key cache utilization
296 unit: percentage
297 chart_type: line
298 dimensions:
299 - name: used
300 - name: cassandra.row_cache_size
301 availability: []
302 description: Key cache size
303 unit: bytes
304 chart_type: line
305 dimensions:
306 - name: size
307 - name: cassandra.key_cache_hit_ratio
308 availability: []
309 description: Row cache hit ratio
310 unit: percentage
311 chart_type: line
312 dimensions:
313 - name: hit_ratio
314 - name: cassandra.key_cache_hit_rate
315 availability: []
316 description: Row cache hit rate
317 unit: events/s
318 chart_type: stacked
319 dimensions:
320 - name: hits
321 - name: misses
322 - name: cassandra.key_cache_utilization
323 availability: []
324 description: Row cache utilization
325 unit: percentage
326 chart_type: line
327 dimensions:
328 - name: used
329 - name: cassandra.key_cache_size
330 availability: []
331 description: Row cache size
332 unit: bytes
333 chart_type: line
334 dimensions:
335 - name: size
336 - name: cassandra.storage_live_disk_space_used
337 availability: []
338 description: Disk space used by live data
339 unit: bytes
340 chart_type: line
341 dimensions:
342 - name: used
343 - name: cassandra.compaction_completed_tasks_rate
344 availability: []
345 description: Completed compactions rate
346 unit: tasks/s
347 chart_type: line
348 dimensions:
349 - name: completed
350 - name: cassandra.compaction_pending_tasks_count
351 availability: []
352 description: Pending compactions
353 unit: tasks
354 chart_type: line
355 dimensions:
356 - name: pending
357 - name: cassandra.compaction_compacted_rate
358 availability: []
359 description: Compaction data rate
360 unit: bytes/s
361 chart_type: line
362 dimensions:
363 - name: compacted
364 - name: cassandra.jvm_memory_used
365 availability: []
366 description: Memory used
367 unit: bytes
368 chart_type: stacked
369 dimensions:
370 - name: heap
371 - name: nonheap
372 - name: cassandra.jvm_gc_rate
373 availability: []
374 description: Garbage collections rate
375 unit: gc/s
376 chart_type: line
377 dimensions:
378 - name: parnew
379 - name: cms
380 - name: cassandra.jvm_gc_time
381 availability: []
382 description: Garbage collection time
383 unit: seconds
384 chart_type: line
385 dimensions:
386 - name: parnew
387 - name: cms
388 - name: cassandra.dropped_messages_rate
389 availability: []
390 description: Dropped messages rate
391 unit: messages/s
392 chart_type: line
393 dimensions:
394 - name: dropped
395 - name: cassandra.client_requests_timeouts_rate
396 availability: []
397 description: Client requests timeouts rate
398 unit: timeout/s
399 chart_type: line
400 dimensions:
401 - name: read
402 - name: write
403 - name: cassandra.client_requests_unavailables_rate
404 availability: []
405 description: Client requests unavailable exceptions rate
406 unit: exceptions/s
407 chart_type: line
408 dimensions:
409 - name: read
410 - name: write
411 - name: cassandra.client_requests_failures_rate
412 availability: []
413 description: Client requests failures rate
414 unit: failures/s
415 chart_type: line
416 dimensions:
417 - name: read
418 - name: write
419 - name: cassandra.storage_exceptions_rate
420 availability: []
421 description: Storage exceptions rate
422 unit: exceptions/s
423 chart_type: line
424 dimensions:
425 - name: storage
426 - name: thread pool
427 description: Metrics related to Cassandra's thread pools. Each thread pool provides its own set of the following metrics.
428 labels:
429 - name: thread_pool
430 description: thread pool name
431 metrics:
432 - name: cassandra.thread_pool_active_tasks_count
433 availability: []
434 description: Active tasks
435 unit: tasks
436 chart_type: line
437 dimensions:
438 - name: active
439 - name: cassandra.thread_pool_pending_tasks_count
440 availability: []
441 description: Pending tasks
442 unit: tasks
443 chart_type: line
444 dimensions:
445 - name: pending
446 - name: cassandra.thread_pool_blocked_tasks_count
447 availability: []
448 description: Blocked tasks
449 unit: tasks
450 chart_type: line
451 dimensions:
452 - name: blocked
453 - name: cassandra.thread_pool_blocked_tasks_rate
454 availability: []
455 description: Blocked tasks rate
456 unit: tasks/s
457 chart_type: line
458 dimensions:
459 - name: blocked