@cryptotaxi247 / netdata-1 / commits / 1bd85e939

remove python.d/riakkv (#18329)

Ilya Mashchenko committed Aug 14, 2024 at 13:48 UTC 1bd85e939b8f30f51c104982a0e28b45cfcfe1c5
6 files changed -1016
CMakeLists.txt
-2
@@ -2788,7 +2788,6 @@ install(FILES
2788 src/collectors/python.d.plugin/oracledb/oracledb.conf
2789 src/collectors/python.d.plugin/pandas/pandas.conf
2790 src/collectors/python.d.plugin/retroshare/retroshare.conf
2791 - src/collectors/python.d.plugin/riakkv/riakkv.conf
2791 src/collectors/python.d.plugin/samba/samba.conf
2792 src/collectors/python.d.plugin/spigotmc/spigotmc.conf
2793 src/collectors/python.d.plugin/tor/tor.conf
@@ -2813,7 +2812,6 @@ install(FILES
2812 src/collectors/python.d.plugin/oracledb/oracledb.chart.py
2813 src/collectors/python.d.plugin/pandas/pandas.chart.py
2814 src/collectors/python.d.plugin/retroshare/retroshare.chart.py
2816 - src/collectors/python.d.plugin/riakkv/riakkv.chart.py
2815 src/collectors/python.d.plugin/samba/samba.chart.py
2816 src/collectors/python.d.plugin/spigotmc/spigotmc.chart.py
2817 src/collectors/python.d.plugin/tor/tor.chart.py
src/collectors/python.d.plugin/riakkv/README.md deleted
-1
@@ -1 +0,0 @@
1 -integrations/riakkv.md
\ No newline at end of file
src/collectors/python.d.plugin/riakkv/integrations/riakkv.md deleted
-253
@@ -1,253 +0,0 @@
1 -<!--startmeta
2 -custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/riakkv/README.md"
3 -meta_yaml: "https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/riakkv/metadata.yaml"
4 -sidebar_label: "RiakKV"
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 -# RiakKV
12 -
13 -
14 -<img src="https://netdata.cloud/img/riak.svg" width="150"/>
15 -
16 -
17 -Plugin: python.d.plugin
18 -Module: riakkv
19 -
20 -<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />
21 -
22 -## Overview
23 -
24 -This collector monitors RiakKV metrics about throughput, latency, resources and more.'
25 -
26 -
27 -This collector reads the database stats from the `/stats` endpoint.
28 -
29 -This collector is supported on all platforms.
30 -
31 -This collector supports collecting metrics from multiple instances of this integration, including remote instances.
32 -
33 -
34 -### Default Behavior
35 -
36 -#### Auto-Detection
37 -
38 -If the /stats endpoint is accessible, RiakKV instances on the local host running on port 8098 will be autodetected.
39 -
40 -#### Limits
41 -
42 -The default configuration for this integration does not impose any limits on data collection.
43 -
44 -#### Performance Impact
45 -
46 -The default configuration for this integration is not expected to impose a significant performance impact on the system.
47 -
48 -
49 -## Metrics
50 -
51 -Metrics grouped by *scope*.
52 -
53 -The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
54 -
55 -
56 -
57 -### Per RiakKV instance
58 -
59 -These metrics refer to the entire monitored application.
60 -
61 -This scope has no labels.
62 -
63 -Metrics:
64 -
65 -| Metric | Dimensions | Unit |
66 -|:------|:----------|:----|
67 -| riak.kv.throughput | gets, puts | operations/s |
68 -| riak.dt.vnode_updates | counters, sets, maps | operations/s |
69 -| riak.search | queries | queries/s |
70 -| riak.search.documents | indexed | documents/s |
71 -| riak.consistent.operations | gets, puts | operations/s |
72 -| riak.kv.latency.get | mean, median, 95, 99, 100 | ms |
73 -| riak.kv.latency.put | mean, median, 95, 99, 100 | ms |
74 -| riak.dt.latency.counter_merge | mean, median, 95, 99, 100 | ms |
75 -| riak.dt.latency.set_merge | mean, median, 95, 99, 100 | ms |
76 -| riak.dt.latency.map_merge | mean, median, 95, 99, 100 | ms |
77 -| riak.search.latency.query | median, min, 95, 99, 999, max | ms |
78 -| riak.search.latency.index | median, min, 95, 99, 999, max | ms |
79 -| riak.consistent.latency.get | mean, median, 95, 99, 100 | ms |
80 -| riak.consistent.latency.put | mean, median, 95, 99, 100 | ms |
81 -| riak.vm | processes | total |
82 -| riak.vm.memory.processes | allocated, used | MB |
83 -| riak.kv.siblings_encountered.get | mean, median, 95, 99, 100 | siblings |
84 -| riak.kv.objsize.get | mean, median, 95, 99, 100 | KB |
85 -| riak.search.vnodeq_size | mean, median, 95, 99, 100 | messages |
86 -| riak.search.index | errors | errors |
87 -| riak.core.protobuf_connections | active | connections |
88 -| riak.core.repairs | read | repairs |
89 -| riak.core.fsm_active | get, put, secondary index, list keys | fsms |
90 -| riak.core.fsm_rejected | get, put | fsms |
91 -| riak.search.index | bad_entry, extract_fail | writes |
92 -
93 -
94 -
95 -## Alerts
96 -
97 -
98 -The following alerts are available:
99 -
100 -| Alert name | On metric | Description |
101 -|:------------|:----------|:------------|
102 -| [ riakkv_1h_kv_get_mean_latency ](https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf) | riak.kv.latency.get | average time between reception of client GET request and subsequent response to client over the last hour |
103 -| [ riakkv_kv_get_slow ](https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf) | riak.kv.latency.get | average time between reception of client GET request and subsequent response to the client over the last 3 minutes, compared to the average over the last hour |
104 -| [ riakkv_1h_kv_put_mean_latency ](https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf) | riak.kv.latency.put | average time between reception of client PUT request and subsequent response to the client over the last hour |
105 -| [ riakkv_kv_put_slow ](https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf) | riak.kv.latency.put | average time between reception of client PUT request and subsequent response to the client over the last 3 minutes, compared to the average over the last hour |
106 -| [ riakkv_vm_high_process_count ](https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf) | riak.vm | number of processes running in the Erlang VM |
107 -| [ riakkv_list_keys_active ](https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf) | riak.core.fsm_active | number of currently running list keys finite state machines |
108 -
109 -
110 -## Setup
111 -
112 -### Prerequisites
113 -
114 -#### Configure RiakKV to enable /stats endpoint
115 -
116 -You can follow the RiakKV configuration reference documentation for how to enable this.
117 -
118 -Source : https://docs.riak.com/riak/kv/2.2.3/configuring/reference/#client-interfaces
119 -
120 -
121 -
122 -### Configuration
123 -
124 -#### File
125 -
126 -The configuration file name for this integration is `python.d/riakkv.conf`.
127 -
128 -
129 -You can edit the configuration file using the `edit-config` script from the
130 -Netdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).
131 -
132 -```bash
133 -cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
134 -sudo ./edit-config python.d/riakkv.conf
135 -```
136 -#### Options
137 -
138 -There are 2 sections:
139 -
140 -* Global variables
141 -* One or more JOBS that can define multiple different instances to monitor.
142 -
143 -The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.
144 -
145 -Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
146 -
147 -Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
148 -
149 -
150 -<details open><summary>Config options</summary>
151 -
152 -| Name | Description | Default | Required |
153 -|:----|:-----------|:-------|:--------:|
154 -| update_every | Sets the default data collection frequency. | 5 | no |
155 -| priority | Controls the order of charts at the netdata dashboard. | 60000 | no |
156 -| autodetection_retry | Sets the job re-check interval in seconds. | 0 | no |
157 -| penalty | Indicates whether to apply penalty to update_every in case of failures. | yes | no |
158 -| url | The url of the server | no | yes |
159 -
160 -</details>
161 -
162 -#### Examples
163 -
164 -##### Basic (default)
165 -
166 -A basic example configuration per job
167 -
168 -```yaml
169 -local:
170 -url: 'http://localhost:8098/stats'
171 -
172 -```
173 -##### Multi-instance
174 -
175 -> **Note**: When you define multiple jobs, their names must be unique.
176 -
177 -Collecting metrics from local and remote instances.
178 -
179 -
180 -<details open><summary>Config</summary>
181 -
182 -```yaml
183 -local:
184 - url: 'http://localhost:8098/stats'
185 -
186 -remote:
187 - url: 'http://192.0.2.1:8098/stats'
188 -
189 -```
190 -</details>
191 -
192 -
193 -
194 -## Troubleshooting
195 -
196 -### Debug Mode
197 -
198 -To troubleshoot issues with the `riakkv` collector, run the `python.d.plugin` with the debug option enabled. The output
199 -should give you clues as to why the collector isn't working.
200 -
201 -- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on
202 - your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.
203 -
204 - ```bash
205 - cd /usr/libexec/netdata/plugins.d/
206 - ```
207 -
208 -- Switch to the `netdata` user.
209 -
210 - ```bash
211 - sudo -u netdata -s
212 - ```
213 -
214 -- Run the `python.d.plugin` to debug the collector:
215 -
216 - ```bash
217 - ./python.d.plugin riakkv debug trace
218 - ```
219 -
220 -### Getting Logs
221 -
222 -If you're encountering problems with the `riakkv` collector, follow these steps to retrieve logs and identify potential issues:
223 -
224 -- **Run the command** specific to your system (systemd, non-systemd, or Docker container).
225 -- **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.
226 -
227 -#### System with systemd
228 -
229 -Use the following command to view logs generated since the last Netdata service restart:
230 -
231 -```bash
232 -journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep riakkv
233 -```
234 -
235 -#### System without systemd
236 -
237 -Locate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:
238 -
239 -```bash
240 -grep riakkv /var/log/netdata/collector.log
241 -```
242 -
243 -**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.
244 -
245 -#### Docker Container
246 -
247 -If your Netdata runs in a Docker container named "netdata" (replace if different), use this command:
248 -
249 -```bash
250 -docker logs netdata 2>&1 | grep riakkv
251 -```
252 -
253 -
src/collectors/python.d.plugin/riakkv/metadata.yaml deleted
-358
@@ -1,358 +0,0 @@
1 -plugin_name: python.d.plugin
2 -modules:
3 - - meta:
4 - plugin_name: python.d.plugin
5 - module_name: riakkv
6 - monitored_instance:
7 - name: RiakKV
8 - link: "https://riak.com/products/riak-kv/index.html"
9 - categories:
10 - - data-collection.database-servers
11 - icon_filename: "riak.svg"
12 - related_resources:
13 - integrations:
14 - list: []
15 - info_provided_to_referring_integrations:
16 - description: ""
17 - keywords:
18 - - database
19 - - nosql
20 - - big data
21 - most_popular: false
22 - overview:
23 - data_collection:
24 - metrics_description: |
25 - This collector monitors RiakKV metrics about throughput, latency, resources and more.'
26 - method_description: "This collector reads the database stats from the `/stats` endpoint."
27 - supported_platforms:
28 - include: []
29 - exclude: []
30 - multi_instance: true
31 - additional_permissions:
32 - description: ""
33 - default_behavior:
34 - auto_detection:
35 - description: "If the /stats endpoint is accessible, RiakKV instances on the local host running on port 8098 will be autodetected."
36 - limits:
37 - description: ""
38 - performance_impact:
39 - description: ""
40 - setup:
41 - prerequisites:
42 - list:
43 - - title: Configure RiakKV to enable /stats endpoint
44 - description: |
45 - You can follow the RiakKV configuration reference documentation for how to enable this.
46 -
47 - Source : https://docs.riak.com/riak/kv/2.2.3/configuring/reference/#client-interfaces
48 - configuration:
49 - file:
50 - name: "python.d/riakkv.conf"
51 - options:
52 - description: |
53 - There are 2 sections:
54 -
55 - * Global variables
56 - * One or more JOBS that can define multiple different instances to monitor.
57 -
58 - The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.
59 -
60 - Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
61 -
62 - Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
63 - folding:
64 - title: "Config options"
65 - enabled: true
66 - list:
67 - - name: update_every
68 - description: Sets the default data collection frequency.
69 - default_value: 5
70 - required: false
71 - - name: priority
72 - description: Controls the order of charts at the netdata dashboard.
73 - default_value: 60000
74 - required: false
75 - - name: autodetection_retry
76 - description: Sets the job re-check interval in seconds.
77 - default_value: 0
78 - required: false
79 - - name: penalty
80 - description: Indicates whether to apply penalty to update_every in case of failures.
81 - default_value: yes
82 - required: false
83 - - name: url
84 - description: The url of the server
85 - default_value: no
86 - required: true
87 - examples:
88 - folding:
89 - enabled: true
90 - title: "Config"
91 - list:
92 - - name: Basic (default)
93 - folding:
94 - enabled: false
95 - description: A basic example configuration per job
96 - config: |
97 - local:
98 - url: 'http://localhost:8098/stats'
99 - - name: Multi-instance
100 - description: |
101 - > **Note**: When you define multiple jobs, their names must be unique.
102 -
103 - Collecting metrics from local and remote instances.
104 - config: |
105 - local:
106 - url: 'http://localhost:8098/stats'
107 -
108 - remote:
109 - url: 'http://192.0.2.1:8098/stats'
110 - troubleshooting:
111 - problems:
112 - list: []
113 - alerts:
114 - - name: riakkv_1h_kv_get_mean_latency
115 - link: https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf
116 - metric: riak.kv.latency.get
117 - info: average time between reception of client GET request and subsequent response to client over the last hour
118 - - name: riakkv_kv_get_slow
119 - link: https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf
120 - metric: riak.kv.latency.get
121 - info: average time between reception of client GET request and subsequent response to the client over the last 3 minutes, compared to the average over the last hour
122 - - name: riakkv_1h_kv_put_mean_latency
123 - link: https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf
124 - metric: riak.kv.latency.put
125 - info: average time between reception of client PUT request and subsequent response to the client over the last hour
126 - - name: riakkv_kv_put_slow
127 - link: https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf
128 - metric: riak.kv.latency.put
129 - info: average time between reception of client PUT request and subsequent response to the client over the last 3 minutes, compared to the average over the last hour
130 - - name: riakkv_vm_high_process_count
131 - link: https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf
132 - metric: riak.vm
133 - info: number of processes running in the Erlang VM
134 - - name: riakkv_list_keys_active
135 - link: https://github.com/netdata/netdata/blob/master/src/health/health.d/riakkv.conf
136 - metric: riak.core.fsm_active
137 - info: number of currently running list keys finite state machines
138 - metrics:
139 - folding:
140 - title: Metrics
141 - enabled: false
142 - description: ""
143 - availability: []
144 - scopes:
145 - - name: global
146 - description: "These metrics refer to the entire monitored application."
147 - labels: []
148 - metrics:
149 - - name: riak.kv.throughput
150 - description: Reads & writes coordinated by this node
151 - unit: "operations/s"
152 - chart_type: line
153 - dimensions:
154 - - name: gets
155 - - name: puts
156 - - name: riak.dt.vnode_updates
157 - description: Update operations coordinated by local vnodes by data type
158 - unit: "operations/s"
159 - chart_type: line
160 - dimensions:
161 - - name: counters
162 - - name: sets
163 - - name: maps
164 - - name: riak.search
165 - description: Search queries on the node
166 - unit: "queries/s"
167 - chart_type: line
168 - dimensions:
169 - - name: queries
170 - - name: riak.search.documents
171 - description: Documents indexed by search
172 - unit: "documents/s"
173 - chart_type: line
174 - dimensions:
175 - - name: indexed
176 - - name: riak.consistent.operations
177 - description: Consistent node operations
178 - unit: "operations/s"
179 - chart_type: line
180 - dimensions:
181 - - name: gets
182 - - name: puts
183 - - name: riak.kv.latency.get
184 - description: Time between reception of a client GET request and subsequent response to client
185 - unit: "ms"
186 - chart_type: line
187 - dimensions:
188 - - name: mean
189 - - name: median
190 - - name: "95"
191 - - name: "99"
192 - - name: "100"
193 - - name: riak.kv.latency.put
194 - description: Time between reception of a client PUT request and subsequent response to client
195 - unit: "ms"
196 - chart_type: line
197 - dimensions:
198 - - name: mean
199 - - name: median
200 - - name: "95"
201 - - name: "99"
202 - - name: "100"
203 - - name: riak.dt.latency.counter_merge
204 - description: Time it takes to perform an Update Counter operation
205 - unit: "ms"
206 - chart_type: line
207 - dimensions:
208 - - name: mean
209 - - name: median
210 - - name: "95"
211 - - name: "99"
212 - - name: "100"
213 - - name: riak.dt.latency.set_merge
214 - description: Time it takes to perform an Update Set operation
215 - unit: "ms"
216 - chart_type: line
217 - dimensions:
218 - - name: mean
219 - - name: median
220 - - name: "95"
221 - - name: "99"
222 - - name: "100"
223 - - name: riak.dt.latency.map_merge
224 - description: Time it takes to perform an Update Map operation
225 - unit: "ms"
226 - chart_type: line
227 - dimensions:
228 - - name: mean
229 - - name: median
230 - - name: "95"
231 - - name: "99"
232 - - name: "100"
233 - - name: riak.search.latency.query
234 - description: Search query latency
235 - unit: "ms"
236 - chart_type: line
237 - dimensions:
238 - - name: median
239 - - name: min
240 - - name: "95"
241 - - name: "99"
242 - - name: "999"
243 - - name: max
244 - - name: riak.search.latency.index
245 - description: Time it takes Search to index a new document
246 - unit: "ms"
247 - chart_type: line
248 - dimensions:
249 - - name: median
250 - - name: min
251 - - name: "95"
252 - - name: "99"
253 - - name: "999"
254 - - name: max
255 - - name: riak.consistent.latency.get
256 - description: Strongly consistent read latency
257 - unit: "ms"
258 - chart_type: line
259 - dimensions:
260 - - name: mean
261 - - name: median
262 - - name: "95"
263 - - name: "99"
264 - - name: "100"
265 - - name: riak.consistent.latency.put
266 - description: Strongly consistent write latency
267 - unit: "ms"
268 - chart_type: line
269 - dimensions:
270 - - name: mean
271 - - name: median
272 - - name: "95"
273 - - name: "99"
274 - - name: "100"
275 - - name: riak.vm
276 - description: Total processes running in the Erlang VM
277 - unit: "total"
278 - chart_type: line
279 - dimensions:
280 - - name: processes
281 - - name: riak.vm.memory.processes
282 - description: Memory allocated & used by Erlang processes
283 - unit: "MB"
284 - chart_type: line
285 - dimensions:
286 - - name: allocated
287 - - name: used
288 - - name: riak.kv.siblings_encountered.get
289 - description: Number of siblings encountered during GET operations by this node during the past minute
290 - unit: "siblings"
291 - chart_type: line
292 - dimensions:
293 - - name: mean
294 - - name: median
295 - - name: "95"
296 - - name: "99"
297 - - name: "100"
298 - - name: riak.kv.objsize.get
299 - description: Object size encountered by this node during the past minute
300 - unit: "KB"
301 - chart_type: line
302 - dimensions:
303 - - name: mean
304 - - name: median
305 - - name: "95"
306 - - name: "99"
307 - - name: "100"
308 - - name: riak.search.vnodeq_size
309 - description: Number of unprocessed messages in the vnode message queues of Search on this node in the past minute
310 - unit: "messages"
311 - chart_type: line
312 - dimensions:
313 - - name: mean
314 - - name: median
315 - - name: "95"
316 - - name: "99"
317 - - name: "100"
318 - - name: riak.search.index
319 - description: Number of document index errors encountered by Search
320 - unit: "errors"
321 - chart_type: line
322 - dimensions:
323 - - name: errors
324 - - name: riak.core.protobuf_connections
325 - description: Protocol buffer connections by status
326 - unit: "connections"
327 - chart_type: line
328 - dimensions:
329 - - name: active
330 - - name: riak.core.repairs
331 - description: Number of repair operations this node has coordinated
332 - unit: "repairs"
333 - chart_type: line
334 - dimensions:
335 - - name: read
336 - - name: riak.core.fsm_active
337 - description: Active finite state machines by kind
338 - unit: "fsms"
339 - chart_type: line
340 - dimensions:
341 - - name: get
342 - - name: put
343 - - name: secondary index
344 - - name: list keys
345 - - name: riak.core.fsm_rejected
346 - description: Finite state machines being rejected by Sidejobs overload protection
347 - unit: "fsms"
348 - chart_type: line
349 - dimensions:
350 - - name: get
351 - - name: put
352 - - name: riak.search.index
353 - description: Number of writes to Search failed due to bad data format by reason
354 - unit: "writes"
355 - chart_type: line
356 - dimensions:
357 - - name: bad_entry
358 - - name: extract_fail
src/collectors/python.d.plugin/riakkv/riakkv.chart.py deleted
-334
@@ -1,334 +0,0 @@
1 -# -*- coding: utf-8 -*-
2 -# Description: riak netdata python.d module
3 -#
4 -# See also:
5 -# https://docs.riak.com/riak/kv/latest/using/reference/statistics-monitoring/index.html
6 -
7 -from json import loads
8 -
9 -from bases.FrameworkServices.UrlService import UrlService
10 -
11 -# Riak updates the metrics at the /stats endpoint every 1 second.
12 -# If we use `update_every = 1` here, that means we might get weird jitter in the graph,
13 -# so the default is set to 2 seconds to prevent it.
14 -update_every = 2
15 -
16 -# charts order (can be overridden if you want less charts, or different order)
17 -ORDER = [
18 - # Throughput metrics
19 - # https://docs.riak.com/riak/kv/latest/using/reference/statistics-monitoring/index.html#throughput-metrics
20 - # Collected in totals.
21 - "kv.node_operations", # K/V node operations.
22 - "dt.vnode_updates", # Data type vnode updates.
23 - "search.queries", # Search queries on the node.
24 - "search.documents", # Documents indexed by Search.
25 - "consistent.operations", # Consistent node operations.
26 -
27 - # Latency metrics
28 - # https://docs.riak.com/riak/kv/latest/using/reference/statistics-monitoring/index.html#throughput-metrics
29 - # Collected for the past minute in milliseconds,
30 - # returned from riak in microseconds.
31 - "kv.latency.get", # K/V GET FSM traversal latency.
32 - "kv.latency.put", # K/V PUT FSM traversal latency.
33 - "dt.latency.counter", # Update Counter Data type latency.
34 - "dt.latency.set", # Update Set Data type latency.
35 - "dt.latency.map", # Update Map Data type latency.
36 - "search.latency.query", # Search query latency.
37 - "search.latency.index", # Time it takes for search to index a new document.
38 - "consistent.latency.get", # Strong consistent read latency.
39 - "consistent.latency.put", # Strong consistent write latency.
40 -
41 - # Erlang resource usage metrics
42 - # https://docs.riak.com/riak/kv/latest/using/reference/statistics-monitoring/index.html#erlang-resource-usage-metrics
43 - # Processes collected as a gauge,
44 - # memory collected as Megabytes, returned as bytes from Riak.
45 - "vm.processes", # Number of processes currently running in the Erlang VM.
46 - "vm.memory.processes", # Total amount of memory allocated & used for Erlang processes.
47 -
48 - # General Riak Load / Health metrics
49 - # https://docs.riak.com/riak/kv/latest/using/reference/statistics-monitoring/index.html#general-riak-load-health-metrics
50 - # The following are collected by Riak over the past minute:
51 - "kv.siblings_encountered.get", # Siblings encountered during GET operations by this node.
52 - "kv.objsize.get", # Object size encountered by this node.
53 - "search.vnodeq_size", # Number of unprocessed messages in the vnode message queues (Search).
54 - # The following are calculated in total, or as gauges:
55 - "search.index_errors", # Errors of the search subsystem while indexing documents.
56 - "core.pbc", # Number of currently active protocol buffer connections.
57 - "core.repairs", # Total read repair operations coordinated by this node.
58 - "core.fsm_active", # Active finite state machines by kind.
59 - "core.fsm_rejected", # Rejected finite state machines by kind.
60 -
61 - # General Riak Search Load / Health metrics
62 - # https://docs.riak.com/riak/kv/latest/using/reference/statistics-monitoring/index.html#general-riak-search-load-health-metrics
63 - # Reported as counters.
64 - "search.errors", # Write and read errors of the Search subsystem.
65 -]
66 -
67 -CHARTS = {
68 - # Throughput metrics
69 - "kv.node_operations": {
70 - "options": [None, "Reads & writes coordinated by this node", "operations/s", "throughput", "riak.kv.throughput",
71 - "line"],
72 - "lines": [
73 - ["node_gets_total", "gets", "incremental"],
74 - ["node_puts_total", "puts", "incremental"]
75 - ]
76 - },
77 - "dt.vnode_updates": {
78 - "options": [None, "Update operations coordinated by local vnodes by data type", "operations/s", "throughput",
79 - "riak.dt.vnode_updates", "line"],
80 - "lines": [
81 - ["vnode_counter_update_total", "counters", "incremental"],
82 - ["vnode_set_update_total", "sets", "incremental"],
83 - ["vnode_map_update_total", "maps", "incremental"],
84 - ]
85 - },
86 - "search.queries": {
87 - "options": [None, "Search queries on the node", "queries/s", "throughput", "riak.search", "line"],
88 - "lines": [
89 - ["search_query_throughput_count", "queries", "incremental"]
90 - ]
91 - },
92 - "search.documents": {
93 - "options": [None, "Documents indexed by search", "documents/s", "throughput", "riak.search.documents", "line"],
94 - "lines": [
95 - ["search_index_throughput_count", "indexed", "incremental"]
96 - ]
97 - },
98 - "consistent.operations": {
99 - "options": [None, "Consistent node operations", "operations/s", "throughput", "riak.consistent.operations",
100 - "line"],
101 - "lines": [
102 - ["consistent_gets_total", "gets", "incremental"],
103 - ["consistent_puts_total", "puts", "incremental"],
104 - ]
105 - },
106 -
107 - # Latency metrics
108 - "kv.latency.get": {
109 - "options": [None, "Time between reception of a client GET request and subsequent response to client", "ms",
110 - "latency", "riak.kv.latency.get", "line"],
111 - "lines": [
112 - ["node_get_fsm_time_mean", "mean", "absolute", 1, 1000],
113 - ["node_get_fsm_time_median", "median", "absolute", 1, 1000],
114 - ["node_get_fsm_time_95", "95", "absolute", 1, 1000],
115 - ["node_get_fsm_time_99", "99", "absolute", 1, 1000],
116 - ["node_get_fsm_time_100", "100", "absolute", 1, 1000],
117 - ]
118 - },
119 - "kv.latency.put": {
120 - "options": [None, "Time between reception of a client PUT request and subsequent response to client", "ms",
121 - "latency", "riak.kv.latency.put", "line"],
122 - "lines": [
123 - ["node_put_fsm_time_mean", "mean", "absolute", 1, 1000],
124 - ["node_put_fsm_time_median", "median", "absolute", 1, 1000],
125 - ["node_put_fsm_time_95", "95", "absolute", 1, 1000],
126 - ["node_put_fsm_time_99", "99", "absolute", 1, 1000],
127 - ["node_put_fsm_time_100", "100", "absolute", 1, 1000],
128 - ]
129 - },
130 - "dt.latency.counter": {
131 - "options": [None, "Time it takes to perform an Update Counter operation", "ms", "latency",
132 - "riak.dt.latency.counter_merge", "line"],
133 - "lines": [
134 - ["object_counter_merge_time_mean", "mean", "absolute", 1, 1000],
135 - ["object_counter_merge_time_median", "median", "absolute", 1, 1000],
136 - ["object_counter_merge_time_95", "95", "absolute", 1, 1000],
137 - ["object_counter_merge_time_99", "99", "absolute", 1, 1000],
138 - ["object_counter_merge_time_100", "100", "absolute", 1, 1000],
139 - ]
140 - },
141 - "dt.latency.set": {
142 - "options": [None, "Time it takes to perform an Update Set operation", "ms", "latency",
143 - "riak.dt.latency.set_merge", "line"],
144 - "lines": [
145 - ["object_set_merge_time_mean", "mean", "absolute", 1, 1000],
146 - ["object_set_merge_time_median", "median", "absolute", 1, 1000],
147 - ["object_set_merge_time_95", "95", "absolute", 1, 1000],
148 - ["object_set_merge_time_99", "99", "absolute", 1, 1000],
149 - ["object_set_merge_time_100", "100", "absolute", 1, 1000],
150 - ]
151 - },
152 - "dt.latency.map": {
153 - "options": [None, "Time it takes to perform an Update Map operation", "ms", "latency",
154 - "riak.dt.latency.map_merge", "line"],
155 - "lines": [
156 - ["object_map_merge_time_mean", "mean", "absolute", 1, 1000],
157 - ["object_map_merge_time_median", "median", "absolute", 1, 1000],
158 - ["object_map_merge_time_95", "95", "absolute", 1, 1000],
159 - ["object_map_merge_time_99", "99", "absolute", 1, 1000],
160 - ["object_map_merge_time_100", "100", "absolute", 1, 1000],
161 - ]
162 - },
163 - "search.latency.query": {
164 - "options": [None, "Search query latency", "ms", "latency", "riak.search.latency.query", "line"],
165 - "lines": [
166 - ["search_query_latency_median", "median", "absolute", 1, 1000],
167 - ["search_query_latency_min", "min", "absolute", 1, 1000],
168 - ["search_query_latency_95", "95", "absolute", 1, 1000],
169 - ["search_query_latency_99", "99", "absolute", 1, 1000],
170 - ["search_query_latency_999", "999", "absolute", 1, 1000],
171 - ["search_query_latency_max", "max", "absolute", 1, 1000],
172 - ]
173 - },
174 - "search.latency.index": {
175 - "options": [None, "Time it takes Search to index a new document", "ms", "latency", "riak.search.latency.index",
176 - "line"],
177 - "lines": [
178 - ["search_index_latency_median", "median", "absolute", 1, 1000],
179 - ["search_index_latency_min", "min", "absolute", 1, 1000],
180 - ["search_index_latency_95", "95", "absolute", 1, 1000],
181 - ["search_index_latency_99", "99", "absolute", 1, 1000],
182 - ["search_index_latency_999", "999", "absolute", 1, 1000],
183 - ["search_index_latency_max", "max", "absolute", 1, 1000],
184 - ]
185 - },
186 -
187 - # Riak Strong Consistency metrics
188 - "consistent.latency.get": {
189 - "options": [None, "Strongly consistent read latency", "ms", "latency", "riak.consistent.latency.get", "line"],
190 - "lines": [
191 - ["consistent_get_time_mean", "mean", "absolute", 1, 1000],
192 - ["consistent_get_time_median", "median", "absolute", 1, 1000],
193 - ["consistent_get_time_95", "95", "absolute", 1, 1000],
194 - ["consistent_get_time_99", "99", "absolute", 1, 1000],
195 - ["consistent_get_time_100", "100", "absolute", 1, 1000],
196 - ]
197 - },
198 - "consistent.latency.put": {
199 - "options": [None, "Strongly consistent write latency", "ms", "latency", "riak.consistent.latency.put", "line"],
200 - "lines": [
201 - ["consistent_put_time_mean", "mean", "absolute", 1, 1000],
202 - ["consistent_put_time_median", "median", "absolute", 1, 1000],
203 - ["consistent_put_time_95", "95", "absolute", 1, 1000],
204 - ["consistent_put_time_99", "99", "absolute", 1, 1000],
205 - ["consistent_put_time_100", "100", "absolute", 1, 1000],
206 - ]
207 - },
208 -
209 - # BEAM metrics
210 - "vm.processes": {
211 - "options": [None, "Total processes running in the Erlang VM", "total", "vm", "riak.vm", "line"],
212 - "lines": [
213 - ["sys_process_count", "processes", "absolute"],
214 - ]
215 - },
216 - "vm.memory.processes": {
217 - "options": [None, "Memory allocated & used by Erlang processes", "MB", "vm", "riak.vm.memory.processes",
218 - "line"],
219 - "lines": [
220 - ["memory_processes", "allocated", "absolute", 1, 1024 * 1024],
221 - ["memory_processes_used", "used", "absolute", 1, 1024 * 1024]
222 - ]
223 - },
224 -
225 - # General Riak Load/Health metrics
226 - "kv.siblings_encountered.get": {
227 - "options": [None, "Number of siblings encountered during GET operations by this node during the past minute",
228 - "siblings", "load", "riak.kv.siblings_encountered.get", "line"],
229 - "lines": [
230 - ["node_get_fsm_siblings_mean", "mean", "absolute"],
231 - ["node_get_fsm_siblings_median", "median", "absolute"],
232 - ["node_get_fsm_siblings_95", "95", "absolute"],
233 - ["node_get_fsm_siblings_99", "99", "absolute"],
234 - ["node_get_fsm_siblings_100", "100", "absolute"],
235 - ]
236 - },
237 - "kv.objsize.get": {
238 - "options": [None, "Object size encountered by this node during the past minute", "KB", "load",
239 - "riak.kv.objsize.get", "line"],
240 - "lines": [
241 - ["node_get_fsm_objsize_mean", "mean", "absolute", 1, 1024],
242 - ["node_get_fsm_objsize_median", "median", "absolute", 1, 1024],
243 - ["node_get_fsm_objsize_95", "95", "absolute", 1, 1024],
244 - ["node_get_fsm_objsize_99", "99", "absolute", 1, 1024],
245 - ["node_get_fsm_objsize_100", "100", "absolute", 1, 1024],
246 - ]
247 - },
248 - "search.vnodeq_size": {
249 - "options": [None,
250 - "Number of unprocessed messages in the vnode message queues of Search on this node in the past minute",
251 - "messages", "load", "riak.search.vnodeq_size", "line"],
252 - "lines": [
253 - ["riak_search_vnodeq_mean", "mean", "absolute"],
254 - ["riak_search_vnodeq_median", "median", "absolute"],
255 - ["riak_search_vnodeq_95", "95", "absolute"],
256 - ["riak_search_vnodeq_99", "99", "absolute"],
257 - ["riak_search_vnodeq_100", "100", "absolute"],
258 - ]
259 - },
260 - "search.index_errors": {
261 - "options": [None, "Number of document index errors encountered by Search", "errors", "load",
262 - "riak.search.index", "line"],
263 - "lines": [
264 - ["search_index_fail_count", "errors", "absolute"]
265 - ]
266 - },
267 - "core.pbc": {
268 - "options": [None, "Protocol buffer connections by status", "connections", "load",
269 - "riak.core.protobuf_connections", "line"],
270 - "lines": [
271 - ["pbc_active", "active", "absolute"],
272 - # ["pbc_connects", "established_pastmin", "absolute"]
273 - ]
274 - },
275 - "core.repairs": {
276 - "options": [None, "Number of repair operations this node has coordinated", "repairs", "load",
277 - "riak.core.repairs", "line"],
278 - "lines": [
279 - ["read_repairs", "read", "absolute"]
280 - ]
281 - },
282 - "core.fsm_active": {
283 - "options": [None, "Active finite state machines by kind", "fsms", "load", "riak.core.fsm_active", "line"],
284 - "lines": [
285 - ["node_get_fsm_active", "get", "absolute"],
286 - ["node_put_fsm_active", "put", "absolute"],
287 - ["index_fsm_active", "secondary index", "absolute"],
288 - ["list_fsm_active", "list keys", "absolute"]
289 - ]
290 - },
291 - "core.fsm_rejected": {
292 - # Writing "Sidejob's" here seems to cause some weird issues: it results in this chart being rendered in
293 - # its own context and additionally, moves the entire Riak graph all the way up to the top of the Netdata
294 - # dashboard for some reason.
295 - "options": [None, "Finite state machines being rejected by Sidejobs overload protection", "fsms", "load",
296 - "riak.core.fsm_rejected", "line"],
297 - "lines": [
298 - ["node_get_fsm_rejected", "get", "absolute"],
299 - ["node_put_fsm_rejected", "put", "absolute"]
300 - ]
301 - },
302 -
303 - # General Riak Search Load / Health metrics
304 - "search.errors": {
305 - "options": [None, "Number of writes to Search failed due to bad data format by reason", "writes", "load",
306 - "riak.search.index", "line"],
307 - "lines": [
308 - ["search_index_bad_entry_count", "bad_entry", "absolute"],
309 - ["search_index_extract_fail_count", "extract_fail", "absolute"],
310 - ]
311 - }
312 -}
313 -
314 -
315 -class Service(UrlService):
316 - def __init__(self, configuration=None, name=None):
317 - UrlService.__init__(self, configuration=configuration, name=name)
318 - self.order = ORDER
319 - self.definitions = CHARTS
320 -
321 - def _get_data(self):
322 - """
323 - Format data received from http request
324 - :return: dict
325 - """
326 - raw = self._get_raw_data()
327 - if not raw:
328 - return None
329 -
330 - try:
331 - return loads(raw)
332 - except (TypeError, ValueError) as err:
333 - self.error(err)
334 - return None
src/collectors/python.d.plugin/riakkv/riakkv.conf deleted
-68
@@ -1,68 +0,0 @@
1 -# netdata python.d.plugin configuration for riak
2 -#
3 -# This file is in YaML format. Generally the format is:
4 -#
5 -# name: value
6 -#
7 -# There are 2 sections:
8 -# - global variables
9 -# - one or more JOBS
10 -#
11 -# JOBS allow you to collect values from multiple sources.
12 -# Each source will have its own set of charts.
13 -#
14 -# JOB parameters have to be indented (using spaces only, example below).
15 -
16 -# ----------------------------------------------------------------------
17 -# Global Variables
18 -# These variables set the defaults for all JOBs, however each JOB
19 -# may define its own, overriding the defaults.
20 -
21 -# update_every sets the default data collection frequency.
22 -# If unset, the python.d.plugin default is used.
23 -# update_every: 1
24 -
25 -# priority controls the order of charts at the netdata dashboard.
26 -# Lower numbers move the charts towards the top of the page.
27 -# If unset, the default for python.d.plugin is used.
28 -# priority: 60000
29 -
30 -# penalty indicates whether to apply penalty to update_every in case of failures.
31 -# Penalty will increase every 5 failed updates in a row. Maximum penalty is 10 minutes.
32 -# penalty: yes
33 -
34 -# autodetection_retry sets the job re-check interval in seconds.
35 -# The job is not deleted if check fails.
36 -# Attempts to start the job are made once every autodetection_retry.
37 -# This feature is disabled by default.
38 -# autodetection_retry: 0
39 -
40 -# ----------------------------------------------------------------------
41 -# JOBS (data collection sources)
42 -#
43 -# The default JOBS share the same *name*. JOBS with the same name
44 -# are mutually exclusive. Only one of them will be allowed running at
45 -# any time. This allows autodetection to try several alternatives and
46 -# pick the one that works.
47 -#
48 -# Any number of jobs is supported.
49 -#
50 -# All python.d.plugin JOBS (for all its modules) support a set of
51 -# predefined parameters. These are:
52 -#
53 -# job_name:
54 -# name: myname # the JOB's name as it will appear at the
55 -# # dashboard (by default is the job_name)
56 -# # JOBs sharing a name are mutually exclusive
57 -# update_every: 1 # the JOB's data collection frequency
58 -# priority: 60000 # the JOB's order on the dashboard
59 -# penalty: yes # the JOB's penalty
60 -# autodetection_retry: 0 # the JOB's re-check interval in seconds
61 -#
62 -#
63 -# ----------------------------------------------------------------------
64 -# AUTO-DETECTION JOBS
65 -# only one of them will run (they have the same name)
66 -
67 -local:
68 - url : 'http://localhost:8098/stats'