@cryptotaxi247 / netdata-1 / commits / e3e80bede

remove python.d/beanstalk (#18259)

Ilya Mashchenko committed Aug 6, 2024 at 21:06 UTC e3e80bede78ef17b17ba05a518d6f872927d08e1
7 files changed +1 -849
CMakeLists.txt
-2
@@ -2778,7 +2778,6 @@ install(FILES
2778 src/collectors/python.d.plugin/alarms/alarms.conf
2779 src/collectors/python.d.plugin/am2320/am2320.conf
2780 src/collectors/python.d.plugin/anomalies/anomalies.conf
2781 - src/collectors/python.d.plugin/beanstalk/beanstalk.conf
2781 src/collectors/python.d.plugin/boinc/boinc.conf
2782 src/collectors/python.d.plugin/ceph/ceph.conf
2783 src/collectors/python.d.plugin/changefinder/changefinder.conf
@@ -2813,7 +2812,6 @@ install(FILES
2812 src/collectors/python.d.plugin/alarms/alarms.chart.py
2813 src/collectors/python.d.plugin/am2320/am2320.chart.py
2814 src/collectors/python.d.plugin/anomalies/anomalies.chart.py
2816 - src/collectors/python.d.plugin/beanstalk/beanstalk.chart.py
2815 src/collectors/python.d.plugin/boinc/boinc.chart.py
2816 src/collectors/python.d.plugin/ceph/ceph.chart.py
2817 src/collectors/python.d.plugin/changefinder/changefinder.chart.py
src/collectors/python.d.plugin/beanstalk/README.md deleted
-1
@@ -1 +0,0 @@
1 -integrations/beanstalk.md
\ No newline at end of file
src/collectors/python.d.plugin/beanstalk/beanstalk.chart.py deleted
-252
@@ -1,252 +0,0 @@
1 -# -*- coding: utf-8 -*-
2 -# Description: beanstalk netdata python.d module
3 -# Author: ilyam8
4 -# SPDX-License-Identifier: GPL-3.0-or-later
5 -
6 -try:
7 - import beanstalkc
8 -
9 - BEANSTALKC = True
10 -except ImportError:
11 - BEANSTALKC = False
12 -
13 -from bases.FrameworkServices.SimpleService import SimpleService
14 -from bases.loaders import load_yaml
15 -
16 -ORDER = [
17 - 'cpu_usage',
18 - 'jobs_rate',
19 - 'connections_rate',
20 - 'commands_rate',
21 - 'current_tubes',
22 - 'current_jobs',
23 - 'current_connections',
24 - 'binlog',
25 - 'uptime',
26 -]
27 -
28 -CHARTS = {
29 - 'cpu_usage': {
30 - 'options': [None, 'Cpu Usage', 'cpu time', 'server statistics', 'beanstalk.cpu_usage', 'area'],
31 - 'lines': [
32 - ['rusage-utime', 'user', 'incremental'],
33 - ['rusage-stime', 'system', 'incremental']
34 - ]
35 - },
36 - 'jobs_rate': {
37 - 'options': [None, 'Jobs Rate', 'jobs/s', 'server statistics', 'beanstalk.jobs_rate', 'line'],
38 - 'lines': [
39 - ['total-jobs', 'total', 'incremental'],
40 - ['job-timeouts', 'timeouts', 'incremental']
41 - ]
42 - },
43 - 'connections_rate': {
44 - 'options': [None, 'Connections Rate', 'connections/s', 'server statistics', 'beanstalk.connections_rate',
45 - 'area'],
46 - 'lines': [
47 - ['total-connections', 'connections', 'incremental']
48 - ]
49 - },
50 - 'commands_rate': {
51 - 'options': [None, 'Commands Rate', 'commands/s', 'server statistics', 'beanstalk.commands_rate', 'stacked'],
52 - 'lines': [
53 - ['cmd-put', 'put', 'incremental'],
54 - ['cmd-peek', 'peek', 'incremental'],
55 - ['cmd-peek-ready', 'peek-ready', 'incremental'],
56 - ['cmd-peek-delayed', 'peek-delayed', 'incremental'],
57 - ['cmd-peek-buried', 'peek-buried', 'incremental'],
58 - ['cmd-reserve', 'reserve', 'incremental'],
59 - ['cmd-use', 'use', 'incremental'],
60 - ['cmd-watch', 'watch', 'incremental'],
61 - ['cmd-ignore', 'ignore', 'incremental'],
62 - ['cmd-delete', 'delete', 'incremental'],
63 - ['cmd-release', 'release', 'incremental'],
64 - ['cmd-bury', 'bury', 'incremental'],
65 - ['cmd-kick', 'kick', 'incremental'],
66 - ['cmd-stats', 'stats', 'incremental'],
67 - ['cmd-stats-job', 'stats-job', 'incremental'],
68 - ['cmd-stats-tube', 'stats-tube', 'incremental'],
69 - ['cmd-list-tubes', 'list-tubes', 'incremental'],
70 - ['cmd-list-tube-used', 'list-tube-used', 'incremental'],
71 - ['cmd-list-tubes-watched', 'list-tubes-watched', 'incremental'],
72 - ['cmd-pause-tube', 'pause-tube', 'incremental']
73 - ]
74 - },
75 - 'current_tubes': {
76 - 'options': [None, 'Current Tubes', 'tubes', 'server statistics', 'beanstalk.current_tubes', 'area'],
77 - 'lines': [
78 - ['current-tubes', 'tubes']
79 - ]
80 - },
81 - 'current_jobs': {
82 - 'options': [None, 'Current Jobs', 'jobs', 'server statistics', 'beanstalk.current_jobs', 'stacked'],
83 - 'lines': [
84 - ['current-jobs-urgent', 'urgent'],
85 - ['current-jobs-ready', 'ready'],
86 - ['current-jobs-reserved', 'reserved'],
87 - ['current-jobs-delayed', 'delayed'],
88 - ['current-jobs-buried', 'buried']
89 - ]
90 - },
91 - 'current_connections': {
92 - 'options': [None, 'Current Connections', 'connections', 'server statistics',
93 - 'beanstalk.current_connections', 'line'],
94 - 'lines': [
95 - ['current-connections', 'written'],
96 - ['current-producers', 'producers'],
97 - ['current-workers', 'workers'],
98 - ['current-waiting', 'waiting']
99 - ]
100 - },
101 - 'binlog': {
102 - 'options': [None, 'Binlog', 'records/s', 'server statistics', 'beanstalk.binlog', 'line'],
103 - 'lines': [
104 - ['binlog-records-written', 'written', 'incremental'],
105 - ['binlog-records-migrated', 'migrated', 'incremental']
106 - ]
107 - },
108 - 'uptime': {
109 - 'options': [None, 'Uptime', 'seconds', 'server statistics', 'beanstalk.uptime', 'line'],
110 - 'lines': [
111 - ['uptime'],
112 - ]
113 - }
114 -}
115 -
116 -
117 -def tube_chart_template(name):
118 - order = [
119 - '{0}_jobs_rate'.format(name),
120 - '{0}_jobs'.format(name),
121 - '{0}_connections'.format(name),
122 - '{0}_commands'.format(name),
123 - '{0}_pause'.format(name)
124 - ]
125 - family = 'tube {0}'.format(name)
126 -
127 - charts = {
128 - order[0]: {
129 - 'options': [None, 'Job Rate', 'jobs/s', family, 'beanstalk.jobs_rate', 'area'],
130 - 'lines': [
131 - ['_'.join([name, 'total-jobs']), 'jobs', 'incremental']
132 - ]
133 - },
134 - order[1]: {
135 - 'options': [None, 'Jobs', 'jobs', family, 'beanstalk.jobs', 'stacked'],
136 - 'lines': [
137 - ['_'.join([name, 'current-jobs-urgent']), 'urgent'],
138 - ['_'.join([name, 'current-jobs-ready']), 'ready'],
139 - ['_'.join([name, 'current-jobs-reserved']), 'reserved'],
140 - ['_'.join([name, 'current-jobs-delayed']), 'delayed'],
141 - ['_'.join([name, 'current-jobs-buried']), 'buried']
142 - ]
143 - },
144 - order[2]: {
145 - 'options': [None, 'Connections', 'connections', family, 'beanstalk.connections', 'stacked'],
146 - 'lines': [
147 - ['_'.join([name, 'current-using']), 'using'],
148 - ['_'.join([name, 'current-waiting']), 'waiting'],
149 - ['_'.join([name, 'current-watching']), 'watching']
150 - ]
151 - },
152 - order[3]: {
153 - 'options': [None, 'Commands', 'commands/s', family, 'beanstalk.commands', 'stacked'],
154 - 'lines': [
155 - ['_'.join([name, 'cmd-delete']), 'deletes', 'incremental'],
156 - ['_'.join([name, 'cmd-pause-tube']), 'pauses', 'incremental']
157 - ]
158 - },
159 - order[4]: {
160 - 'options': [None, 'Pause', 'seconds', family, 'beanstalk.pause', 'stacked'],
161 - 'lines': [
162 - ['_'.join([name, 'pause']), 'since'],
163 - ['_'.join([name, 'pause-time-left']), 'left']
164 - ]
165 - }
166 - }
167 -
168 - return order, charts
169 -
170 -
171 -class Service(SimpleService):
172 - def __init__(self, configuration=None, name=None):
173 - SimpleService.__init__(self, configuration=configuration, name=name)
174 - self.configuration = configuration
175 - self.order = list(ORDER)
176 - self.definitions = dict(CHARTS)
177 - self.conn = None
178 - self.alive = True
179 -
180 - def check(self):
181 - if not BEANSTALKC:
182 - self.error("'beanstalkc' module is needed to use beanstalk.chart.py")
183 - return False
184 -
185 - self.conn = self.connect()
186 -
187 - return True if self.conn else False
188 -
189 - def get_data(self):
190 - """
191 - :return: dict
192 - """
193 - if not self.is_alive():
194 - return None
195 -
196 - active_charts = self.charts.active_charts()
197 - data = dict()
198 -
199 - try:
200 - data.update(self.conn.stats())
201 -
202 - for tube in self.conn.tubes():
203 - stats = self.conn.stats_tube(tube)
204 -
205 - if tube + '_jobs_rate' not in active_charts:
206 - self.create_new_tube_charts(tube)
207 -
208 - for stat in stats:
209 - data['_'.join([tube, stat])] = stats[stat]
210 -
211 - except beanstalkc.SocketError:
212 - self.alive = False
213 - return None
214 -
215 - return data or None
216 -
217 - def create_new_tube_charts(self, tube):
218 - order, charts = tube_chart_template(tube)
219 -
220 - for chart_name in order:
221 - params = [chart_name] + charts[chart_name]['options']
222 - dimensions = charts[chart_name]['lines']
223 -
224 - new_chart = self.charts.add_chart(params)
225 - for dimension in dimensions:
226 - new_chart.add_dimension(dimension)
227 -
228 - def connect(self):
229 - host = self.configuration.get('host', '127.0.0.1')
230 - port = self.configuration.get('port', 11300)
231 - timeout = self.configuration.get('timeout', 1)
232 - try:
233 - return beanstalkc.Connection(host=host,
234 - port=port,
235 - connect_timeout=timeout,
236 - parse_yaml=load_yaml)
237 - except beanstalkc.SocketError as error:
238 - self.error('Connection to {0}:{1} failed: {2}'.format(host, port, error))
239 - return None
240 -
241 - def reconnect(self):
242 - try:
243 - self.conn.reconnect()
244 - self.alive = True
245 - return True
246 - except beanstalkc.SocketError:
247 - return False
248 -
249 - def is_alive(self):
250 - if not self.alive:
251 - return self.reconnect()
252 - return True
src/collectors/python.d.plugin/beanstalk/beanstalk.conf deleted
-78
@@ -1,78 +0,0 @@
1 -# netdata python.d.plugin configuration for beanstalk
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 -# chart_cleanup sets the default chart cleanup interval in iterations.
41 -# A chart is marked as obsolete if it has not been updated
42 -# 'chart_cleanup' iterations in a row.
43 -# When a plugin sends the obsolete flag, the charts are not deleted
44 -# from netdata immediately.
45 -# They will be hidden immediately (not offered to dashboard viewer,
46 -# streamed upstream and archived to external databases) and deleted one hour
47 -# later (configurable from netdata.conf).
48 -# chart_cleanup: 10
49 -
50 -# ----------------------------------------------------------------------
51 -# JOBS (data collection sources)
52 -#
53 -# The default JOBS share the same *name*. JOBS with the same name
54 -# are mutually exclusive. Only one of them will be allowed running at
55 -# any time. This allows autodetection to try several alternatives and
56 -# pick the one that works.
57 -#
58 -# Any number of jobs is supported.
59 -#
60 -# All python.d.plugin JOBS (for all its modules) support a set of
61 -# predefined parameters. These are:
62 -#
63 -# job_name:
64 -# name: myname # the JOB's name as it will appear at the
65 -# # dashboard (by default is the job_name)
66 -# # JOBs sharing a name are mutually exclusive
67 -# update_every: 1 # the JOB's data collection frequency
68 -# priority: 60000 # the JOB's order on the dashboard
69 -# penalty: yes # the JOB's penalty
70 -# autodetection_retry: 0 # the JOB's re-check interval in seconds
71 -# chart_cleanup: 10 # the JOB's chart cleanup interval in iterations
72 -#
73 -# Additionally to the above, beanstalk also supports the following:
74 -#
75 -# host: 'host' # Server ip address or hostname. Default: 127.0.0.1
76 -# port: port # Beanstalkd port. Default:
77 -#
78 -# ----------------------------------------------------------------------
src/collectors/python.d.plugin/beanstalk/integrations/beanstalk.md deleted
-252
@@ -1,252 +0,0 @@
1 -<!--startmeta
2 -custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/beanstalk/README.md"
3 -meta_yaml: "https://github.com/netdata/netdata/edit/master/src/collectors/python.d.plugin/beanstalk/metadata.yaml"
4 -sidebar_label: "Beanstalk"
5 -learn_status: "Published"
6 -learn_rel_path: "Collecting Metrics/Message Brokers"
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 -# Beanstalk
12 -
13 -
14 -<img src="https://netdata.cloud/img/beanstalk.svg" width="150"/>
15 -
16 -
17 -Plugin: python.d.plugin
18 -Module: beanstalk
19 -
20 -<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />
21 -
22 -## Overview
23 -
24 -Monitor Beanstalk metrics to enhance job queueing and processing efficiency. Track job rates, processing times, and queue lengths for better task management.
25 -
26 -The collector uses the `beanstalkc` python module to connect to a `beanstalkd` service and gather metrics.
27 -
28 -This collector is supported on all platforms.
29 -
30 -This collector supports collecting metrics from multiple instances of this integration, including remote instances.
31 -
32 -
33 -### Default Behavior
34 -
35 -#### Auto-Detection
36 -
37 -If no configuration is given, module will attempt to connect to beanstalkd on 127.0.0.1:11300 address.
38 -
39 -#### Limits
40 -
41 -The default configuration for this integration does not impose any limits on data collection.
42 -
43 -#### Performance Impact
44 -
45 -The default configuration for this integration is not expected to impose a significant performance impact on the system.
46 -
47 -
48 -## Metrics
49 -
50 -Metrics grouped by *scope*.
51 -
52 -The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
53 -
54 -
55 -
56 -### Per Beanstalk instance
57 -
58 -These metrics refer to the entire monitored application.
59 -
60 -This scope has no labels.
61 -
62 -Metrics:
63 -
64 -| Metric | Dimensions | Unit |
65 -|:------|:----------|:----|
66 -| beanstalk.cpu_usage | user, system | cpu time |
67 -| beanstalk.jobs_rate | total, timeouts | jobs/s |
68 -| beanstalk.connections_rate | connections | connections/s |
69 -| beanstalk.commands_rate | put, peek, peek-ready, peek-delayed, peek-buried, reserve, use, watch, ignore, delete, bury, kick, stats, stats-job, stats-tube, list-tubes, list-tube-used, list-tubes-watched, pause-tube | commands/s |
70 -| beanstalk.current_tubes | tubes | tubes |
71 -| beanstalk.current_jobs | urgent, ready, reserved, delayed, buried | jobs |
72 -| beanstalk.current_connections | written, producers, workers, waiting | connections |
73 -| beanstalk.binlog | written, migrated | records/s |
74 -| beanstalk.uptime | uptime | seconds |
75 -
76 -### Per tube
77 -
78 -Metrics related to Beanstalk tubes. Each tube produces its own set of the following metrics.
79 -
80 -This scope has no labels.
81 -
82 -Metrics:
83 -
84 -| Metric | Dimensions | Unit |
85 -|:------|:----------|:----|
86 -| beanstalk.jobs_rate | jobs | jobs/s |
87 -| beanstalk.jobs | urgent, ready, reserved, delayed, buried | jobs |
88 -| beanstalk.connections | using, waiting, watching | connections |
89 -| beanstalk.commands | deletes, pauses | commands/s |
90 -| beanstalk.pause | since, left | seconds |
91 -
92 -
93 -
94 -## Alerts
95 -
96 -
97 -The following alerts are available:
98 -
99 -| Alert name | On metric | Description |
100 -|:------------|:----------|:------------|
101 -| [ beanstalk_server_buried_jobs ](https://github.com/netdata/netdata/blob/master/src/health/health.d/beanstalkd.conf) | beanstalk.current_jobs | number of buried jobs across all tubes. You need to manually kick them so they can be processed. Presence of buried jobs in a tube does not affect new jobs. |
102 -
103 -
104 -## Setup
105 -
106 -### Prerequisites
107 -
108 -#### beanstalkc python module
109 -
110 -The collector requires the `beanstalkc` python module to be installed.
111 -
112 -
113 -### Configuration
114 -
115 -#### File
116 -
117 -The configuration file name for this integration is `python.d/beanstalk.conf`.
118 -
119 -
120 -You can edit the configuration file using the `edit-config` script from the
121 -Netdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).
122 -
123 -```bash
124 -cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
125 -sudo ./edit-config python.d/beanstalk.conf
126 -```
127 -#### Options
128 -
129 -There are 2 sections:
130 -
131 -* Global variables
132 -* One or more JOBS that can define multiple different instances to monitor.
133 -
134 -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.
135 -
136 -Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
137 -
138 -Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
139 -
140 -
141 -<details open><summary>Config options</summary>
142 -
143 -| Name | Description | Default | Required |
144 -|:----|:-----------|:-------|:--------:|
145 -| update_every | Sets the default data collection frequency. | 5 | no |
146 -| priority | Controls the order of charts at the netdata dashboard. | 60000 | no |
147 -| autodetection_retry | Sets the job re-check interval in seconds. | 0 | no |
148 -| penalty | Indicates whether to apply penalty to update_every in case of failures. | yes | no |
149 -| name | Job name. This value will overwrite the `job_name` value. JOBS with the same name are mutually exclusive. Only one of them will be allowed running at any time. This allows autodetection to try several alternatives and pick the one that works. | | no |
150 -| host | IP or URL to a beanstalk service. | 127.0.0.1 | no |
151 -| port | Port to the IP or URL to a beanstalk service. | 11300 | no |
152 -
153 -</details>
154 -
155 -#### Examples
156 -
157 -##### Remote beanstalk server
158 -
159 -A basic remote beanstalk server
160 -
161 -```yaml
162 -remote:
163 - name: 'beanstalk'
164 - host: '1.2.3.4'
165 - port: 11300
166 -
167 -```
168 -##### Multi-instance
169 -
170 -> **Note**: When you define multiple jobs, their names must be unique.
171 -
172 -Collecting metrics from local and remote instances.
173 -
174 -
175 -<details open><summary>Config</summary>
176 -
177 -```yaml
178 -localhost:
179 - name: 'local_beanstalk'
180 - host: '127.0.0.1'
181 - port: 11300
182 -
183 -remote_job:
184 - name: 'remote_beanstalk'
185 - host: '192.0.2.1'
186 - port: 113000
187 -
188 -```
189 -</details>
190 -
191 -
192 -
193 -## Troubleshooting
194 -
195 -### Debug Mode
196 -
197 -To troubleshoot issues with the `beanstalk` collector, run the `python.d.plugin` with the debug option enabled. The output
198 -should give you clues as to why the collector isn't working.
199 -
200 -- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on
201 - your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.
202 -
203 - ```bash
204 - cd /usr/libexec/netdata/plugins.d/
205 - ```
206 -
207 -- Switch to the `netdata` user.
208 -
209 - ```bash
210 - sudo -u netdata -s
211 - ```
212 -
213 -- Run the `python.d.plugin` to debug the collector:
214 -
215 - ```bash
216 - ./python.d.plugin beanstalk debug trace
217 - ```
218 -
219 -### Getting Logs
220 -
221 -If you're encountering problems with the `beanstalk` collector, follow these steps to retrieve logs and identify potential issues:
222 -
223 -- **Run the command** specific to your system (systemd, non-systemd, or Docker container).
224 -- **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.
225 -
226 -#### System with systemd
227 -
228 -Use the following command to view logs generated since the last Netdata service restart:
229 -
230 -```bash
231 -journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep beanstalk
232 -```
233 -
234 -#### System without systemd
235 -
236 -Locate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:
237 -
238 -```bash
239 -grep beanstalk /var/log/netdata/collector.log
240 -```
241 -
242 -**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.
243 -
244 -#### Docker Container
245 -
246 -If your Netdata runs in a Docker container named "netdata" (replace if different), use this command:
247 -
248 -```bash
249 -docker logs netdata 2>&1 | grep beanstalk
250 -```
251 -
252 -
src/collectors/python.d.plugin/beanstalk/metadata.yaml deleted
-263
@@ -1,263 +0,0 @@
1 -plugin_name: python.d.plugin
2 -modules:
3 - - meta:
4 - plugin_name: python.d.plugin
5 - module_name: beanstalk
6 - monitored_instance:
7 - name: Beanstalk
8 - link: "https://beanstalkd.github.io/"
9 - categories:
10 - - data-collection.message-brokers
11 - #- data-collection.task-queues
12 - icon_filename: "beanstalk.svg"
13 - related_resources:
14 - integrations:
15 - list: []
16 - info_provided_to_referring_integrations:
17 - description: ""
18 - keywords:
19 - - beanstalk
20 - - beanstalkd
21 - - message
22 - most_popular: false
23 - overview:
24 - data_collection:
25 - metrics_description: "Monitor Beanstalk metrics to enhance job queueing and processing efficiency. Track job rates, processing times, and queue lengths for better task management."
26 - method_description: "The collector uses the `beanstalkc` python module to connect to a `beanstalkd` service and gather metrics."
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 no configuration is given, module will attempt to connect to beanstalkd on 127.0.0.1:11300 address."
36 - limits:
37 - description: ""
38 - performance_impact:
39 - description: ""
40 - setup:
41 - prerequisites:
42 - list:
43 - - title: "beanstalkc python module"
44 - description: The collector requires the `beanstalkc` python module to be installed.
45 - configuration:
46 - file:
47 - name: python.d/beanstalk.conf
48 - options:
49 - description: |
50 - There are 2 sections:
51 -
52 - * Global variables
53 - * One or more JOBS that can define multiple different instances to monitor.
54 -
55 - 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.
56 -
57 - Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
58 -
59 - Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
60 - folding:
61 - title: "Config options"
62 - enabled: true
63 - list:
64 - - name: update_every
65 - description: Sets the default data collection frequency.
66 - default_value: 5
67 - required: false
68 - - name: priority
69 - description: Controls the order of charts at the netdata dashboard.
70 - default_value: 60000
71 - required: false
72 - - name: autodetection_retry
73 - description: Sets the job re-check interval in seconds.
74 - default_value: 0
75 - required: false
76 - - name: penalty
77 - description: Indicates whether to apply penalty to update_every in case of failures.
78 - default_value: yes
79 - required: false
80 - - name: name
81 - description: Job name. This value will overwrite the `job_name` value. JOBS with the same name are mutually exclusive. Only one of them will be allowed running at any time. This allows autodetection to try several alternatives and pick the one that works.
82 - default_value: ""
83 - required: false
84 - - name: host
85 - description: IP or URL to a beanstalk service.
86 - default_value: "127.0.0.1"
87 - required: false
88 - - name: port
89 - description: Port to the IP or URL to a beanstalk service.
90 - default_value: "11300"
91 - required: false
92 - examples:
93 - folding:
94 - enabled: true
95 - title: "Config"
96 - list:
97 - - name: Remote beanstalk server
98 - description: A basic remote beanstalk server
99 - folding:
100 - enabled: false
101 - config: |
102 - remote:
103 - name: 'beanstalk'
104 - host: '1.2.3.4'
105 - port: 11300
106 - - name: Multi-instance
107 - description: |
108 - > **Note**: When you define multiple jobs, their names must be unique.
109 -
110 - Collecting metrics from local and remote instances.
111 - config: |
112 - localhost:
113 - name: 'local_beanstalk'
114 - host: '127.0.0.1'
115 - port: 11300
116 -
117 - remote_job:
118 - name: 'remote_beanstalk'
119 - host: '192.0.2.1'
120 - port: 113000
121 - troubleshooting:
122 - problems:
123 - list: []
124 - alerts:
125 - - name: beanstalk_server_buried_jobs
126 - link: https://github.com/netdata/netdata/blob/master/src/health/health.d/beanstalkd.conf
127 - metric: beanstalk.current_jobs
128 - info: number of buried jobs across all tubes. You need to manually kick them so they can be processed. Presence of buried jobs in a tube does not affect new jobs.
129 - metrics:
130 - folding:
131 - title: Metrics
132 - enabled: false
133 - description: ""
134 - availability: []
135 - scopes:
136 - - name: global
137 - description: "These metrics refer to the entire monitored application."
138 - labels: []
139 - metrics:
140 - - name: beanstalk.cpu_usage
141 - description: Cpu Usage
142 - unit: "cpu time"
143 - chart_type: area
144 - dimensions:
145 - - name: user
146 - - name: system
147 - - name: beanstalk.jobs_rate
148 - description: Jobs Rate
149 - unit: "jobs/s"
150 - chart_type: line
151 - dimensions:
152 - - name: total
153 - - name: timeouts
154 - - name: beanstalk.connections_rate
155 - description: Connections Rate
156 - unit: "connections/s"
157 - chart_type: area
158 - dimensions:
159 - - name: connections
160 - - name: beanstalk.commands_rate
161 - description: Commands Rate
162 - unit: "commands/s"
163 - chart_type: stacked
164 - dimensions:
165 - - name: put
166 - - name: peek
167 - - name: peek-ready
168 - - name: peek-delayed
169 - - name: peek-buried
170 - - name: reserve
171 - - name: use
172 - - name: watch
173 - - name: ignore
174 - - name: delete
175 - - name: bury
176 - - name: kick
177 - - name: stats
178 - - name: stats-job
179 - - name: stats-tube
180 - - name: list-tubes
181 - - name: list-tube-used
182 - - name: list-tubes-watched
183 - - name: pause-tube
184 - - name: beanstalk.current_tubes
185 - description: Current Tubes
186 - unit: "tubes"
187 - chart_type: area
188 - dimensions:
189 - - name: tubes
190 - - name: beanstalk.current_jobs
191 - description: Current Jobs
192 - unit: "jobs"
193 - chart_type: stacked
194 - dimensions:
195 - - name: urgent
196 - - name: ready
197 - - name: reserved
198 - - name: delayed
199 - - name: buried
200 - - name: beanstalk.current_connections
201 - description: Current Connections
202 - unit: "connections"
203 - chart_type: line
204 - dimensions:
205 - - name: written
206 - - name: producers
207 - - name: workers
208 - - name: waiting
209 - - name: beanstalk.binlog
210 - description: Binlog
211 - unit: "records/s"
212 - chart_type: line
213 - dimensions:
214 - - name: written
215 - - name: migrated
216 - - name: beanstalk.uptime
217 - description: seconds
218 - unit: "seconds"
219 - chart_type: line
220 - dimensions:
221 - - name: uptime
222 - - name: tube
223 - description: "Metrics related to Beanstalk tubes. Each tube produces its own set of the following metrics."
224 - labels: []
225 - metrics:
226 - - name: beanstalk.jobs_rate
227 - description: Jobs Rate
228 - unit: "jobs/s"
229 - chart_type: area
230 - dimensions:
231 - - name: jobs
232 - - name: beanstalk.jobs
233 - description: Jobs
234 - unit: "jobs"
235 - chart_type: stacked
236 - dimensions:
237 - - name: urgent
238 - - name: ready
239 - - name: reserved
240 - - name: delayed
241 - - name: buried
242 - - name: beanstalk.connections
243 - description: Connections
244 - unit: "connections"
245 - chart_type: stacked
246 - dimensions:
247 - - name: using
248 - - name: waiting
249 - - name: watching
250 - - name: beanstalk.commands
251 - description: Commands
252 - unit: "commands/s"
253 - chart_type: stacked
254 - dimensions:
255 - - name: deletes
256 - - name: pauses
257 - - name: beanstalk.pause
258 - description: Pause
259 - unit: "seconds"
260 - chart_type: stacked
261 - dimensions:
262 - - name: since
263 - - name: left
src/collectors/python.d.plugin/python.d.conf
+1 -1
@@ -28,7 +28,6 @@ gc_interval: 300
28 # alarms: yes
29 # am2320: yes
30 # anomalies: no
31 -# beanstalk: yes
31 # boinc: yes
32 # ceph: yes
33 # changefinder: no
@@ -63,6 +62,7 @@ go_expvar: no
62 ## Disabled for existing installations.
63 adaptec_raid: no # Removed (replaced with go.d/adaptercraid).
64 apache: no # Removed (replaced with go.d/apache).
65 +beanstalk: no # Removed (replaced with go.d/beanstalk).
66 elasticsearch: no # Removed (replaced with go.d/elasticsearch).
67 fail2ban: no # Removed (replaced with go.d/fail2ban).
68 freeradius: no # Removed (replaced with go.d/freeradius).