@cryptotaxi247 / netdata-1 / commits / 162b78443

/collectors/charts.d.plugin: remove deprecated modules (#7962)

* /collectors/charts.d.plugin: skip obsolete modules during loading * /collectors/charts.d.plugin: remove apache * /collectors/charts.d.plugin: remove cpu_apps * /collectors/charts.d.plugin: remove cpufreq * /collectors/charts.d.plugin: remove exim * /collectors/charts.d.plugin: remove hddtemp * /collectors/charts.d.plugin: remove load_average * /collectors/charts.d.plugin: remove mem_apps * /collectors/charts.d.plugin: remove mysql * /collectors/charts.d.plugin: remove nginx * /collectors/charts.d.plugin: remove phpfpm * /collectors/charts.d.plugin: remove postfix * /collectors/charts.d.plugin: remove sensors * /collectors/charts.d.plugin: remove squid * /collectors/charts.d.plugin: remove tomcat * /collectors/charts.d.plugin: update charts.d.conf * Revert "/collectors/charts.d.plugin: remove sensors" This reverts commit e3388853 * /collectors/charts.d.plugin: add sensors to Makefile.am * /docs: remove obsolete modules from Add-more-charts-to-netdata.md * /docs/generator: remove obsolete modules from buildyaml.sh * /collectors/charts.d.plugin: remove sensors from obsolete_charts * /collectors/charts.d.plugin: better debug msg for obsolete modules * /collectors/charts.d.plugin: better debug msg for obsolete modules * /collectors/charts.d.plugin: use `replaced by` instead of `obsolete by` * add BREAKING_CHANGES.md and mention removing deprecated bash modules there

Ilya Mashchenko committed Feb 12, 2020 at 12:30 UTC 162b78443a0a48bf0c012da094760375b755173e
58 files changed +25 -2805
BREAKING_CHANGES.md new
+3
@@ -0,0 +1,3 @@
1 +# Breaking Changes
2 +
3 +- remove deprecated bash modules (`apache`, `cpu_apps`, `cpufreq`, `exim`, `hddtemp`, `load_average`, `mem_apps`, `mysql`, `nginx`, `phpfpm`, `postfix`, `squid`, `tomcat`) [[#7962](https://github.com/netdata/netdata/pull/7962)]
collectors/charts.d.plugin/Makefile.am
-13
@@ -42,22 +42,9 @@ dist_chartsconfig_DATA = \
42 $(NULL)
43
44 include ap/Makefile.inc
45 -include apache/Makefile.inc
45 include apcupsd/Makefile.inc
47 -include cpu_apps/Makefile.inc
48 -include cpufreq/Makefile.inc
46 include example/Makefile.inc
50 -include exim/Makefile.inc
51 -include hddtemp/Makefile.inc
47 include libreswan/Makefile.inc
53 -include load_average/Makefile.inc
54 -include mem_apps/Makefile.inc
55 -include mysql/Makefile.inc
56 -include nginx/Makefile.inc
48 include nut/Makefile.inc
49 include opensips/Makefile.inc
59 -include phpfpm/Makefile.inc
60 -include postfix/Makefile.inc
50 include sensors/Makefile.inc
62 -include squid/Makefile.inc
63 -include tomcat/Makefile.inc
collectors/charts.d.plugin/apache/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += apache/apache.chart.sh
9 -dist_chartsconfig_DATA += apache/apache.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += apache/README.md apache/Makefile.inc
13 -
collectors/charts.d.plugin/apache/README.md deleted
-129
@@ -1,129 +0,0 @@
1 -# Apache
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [THE PYTHON ONE](../../python.d.plugin/apache) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
5 -
6 ----
7 -
8 -The `apache` collector visualizes key performance data for an apache web server.
9 -
10 -## Example Netdata charts
11 -
12 -For apache 2.2:
13 -
14 -![image](https://cloud.githubusercontent.com/assets/2662304/12530273/421c4d14-c1e2-11e5-9fb6-ca6d6dd3b1dd.png)
15 -
16 -For apache 2.4:
17 -
18 -![image](https://cloud.githubusercontent.com/assets/2662304/12530376/29ec26de-c1e6-11e5-9af1-e48aaf781795.png)
19 -
20 -## How it works
21 -
22 -It runs `curl "http://apache.host/server-status?auto` to fetch the current status of apache.
23 -
24 -It has been tested with apache 2.2 and apache 2.4. The latter also provides connections information (total and break down by status).
25 -
26 -Apache 2.2 response:
27 -
28 -```sh
29 -curl "http://127.0.0.1/server-status?auto"
30 -Total Accesses: 80057
31 -Total kBytes: 223017
32 -CPULoad: .018287
33 -Uptime: 64472
34 -ReqPerSec: 1.24173
35 -BytesPerSec: 3542.15
36 -BytesPerReq: 2852.59
37 -BusyWorkers: 1
38 -IdleWorkers: 49
39 -Scoreboard: _________________________......................................._W_______________________.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
40 -```
41 -
42 -Apache 2.4 response:
43 -
44 -```sh
45 -curl "http://127.0.0.1/server-status?auto"
46 -127.0.0.1
47 -ServerVersion: Apache/2.4.18 (Unix)
48 -ServerMPM: event
49 -Server Built: Dec 14 2015 08:05:54
50 -CurrentTime: Saturday, 23-Jan-2016 14:42:06 EET
51 -RestartTime: Saturday, 23-Jan-2016 04:57:13 EET
52 -ParentServerConfigGeneration: 2
53 -ParentServerMPMGeneration: 1
54 -ServerUptimeSeconds: 35092
55 -ServerUptime: 9 hours 44 minutes 52 seconds
56 -Load1: 0.32
57 -Load5: 0.32
58 -Load15: 0.27
59 -Total Accesses: 32403
60 -Total kBytes: 34464
61 -CPUUser: 30.37
62 -CPUSystem: 29.55
63 -CPUChildrenUser: 0
64 -CPUChildrenSystem: 0
65 -CPULoad: .170751
66 -Uptime: 35092
67 -ReqPerSec: .923373
68 -BytesPerSec: 1005.67
69 -BytesPerReq: 1089.13
70 -BusyWorkers: 1
71 -IdleWorkers: 99
72 -ConnsTotal: 0
73 -ConnsAsyncWriting: 0
74 -ConnsAsyncKeepAlive: 0
75 -ConnsAsyncClosing: 0
76 -Scoreboard: __________________________________________________________________________________________W_________............................................................................................................................................................................................................................................................................................................
77 -```
78 -
79 -From the apache status output it collects:
80 -
81 -- total accesses (incremental value, rendered as requests/s)
82 -- total bandwidth (incremental value, rendered as bandwidth/s)
83 -- requests per second (this appears to be calculated by apache as an average for its lifetime, while the one calculated by Netdata using the total accesses counter is real-time)
84 -- bytes per second (average for the lifetime of the apache server)
85 -- bytes per request (average for the lifetime of the apache server)
86 -- workers by status (`busy` and `idle`)
87 -- total connections (currently active connections - offered by apache 2.4+)
88 -- async connections per status (`keepalive`, `writing`, `closing` - offered by apache 2.4+)
89 -
90 -## Configuration
91 -
92 -The configuration is stored in `/etc/netdata/charts.d/apache.conf`.
93 -To edit this file on your system run `/etc/netdata/edit-config charts.d/apache.conf`.
94 -
95 -The internal default is:
96 -
97 -```sh
98 -# the URL your apache server is responding with mod_status information.
99 -apache_url="http://127.0.0.1:80/server-status?auto"
100 -
101 -# use this to set custom curl options you may need
102 -apache_curl_opts=
103 -
104 -# set this to a NUMBER to overwrite the update frequency
105 -# it is in seconds
106 -apache_update_every=
107 -```
108 -
109 -The default `apache_update_every` is configured in Netdata.
110 -
111 -## Auto-detection
112 -
113 -If you have configured your apache server to offer server-status information on localhost clients, the defaults should work fine.
114 -
115 -## Apache Configuration
116 -
117 -Apache configuration differs between distributions. Please check your distribution's documentation for information on enabling apache's `mod_status` module.
118 -
119 -If you are able to run successfully, by hand this command:
120 -
121 -```sh
122 -curl "http://127.0.0.1:80/server-status?auto"
123 -```
124 -
125 -Netdata will be able to do it too.
126 -
127 -Notice: You may need to have the default `000-default.conf` website enabled in order for the status mod to work.
128 -
129 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fapache%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/apache/apache.chart.sh deleted
-251
@@ -1,251 +0,0 @@
1 -# shellcheck shell=bash
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -
10 -# the URL to download apache status info
11 -apache_url="http://127.0.0.1:80/server-status?auto"
12 -apache_curl_opts=
13 -
14 -# _update_every is a special variable - it holds the number of seconds
15 -# between the calls of the _update() function
16 -apache_update_every=
17 -
18 -apache_priority=60000
19 -
20 -# convert apache floating point values
21 -# to integer using this multiplier
22 -# this only affects precision - the values
23 -# will be in the proper units
24 -apache_decimal_detail=1000000
25 -
26 -declare -a apache_response=()
27 -apache_accesses=0
28 -apache_kbytes=0
29 -apache_reqpersec=0
30 -apache_bytespersec=0
31 -apache_bytesperreq=0
32 -apache_busyworkers=0
33 -apache_idleworkers=0
34 -apache_connstotal=0
35 -apache_connsasyncwriting=0
36 -apache_connsasynckeepalive=0
37 -apache_connsasyncclosing=0
38 -
39 -apache_keys_detected=0
40 -apache_has_conns=0
41 -apache_key_accesses=
42 -apache_key_kbytes=
43 -apache_key_reqpersec=
44 -apache_key_bytespersec=
45 -apache_key_bytesperreq=
46 -apache_key_busyworkers=
47 -apache_key_idleworkers=
48 -apache_key_scoreboard=
49 -apache_key_connstotal=
50 -apache_key_connsasyncwriting=
51 -apache_key_connsasynckeepalive=
52 -apache_key_connsasyncclosing=
53 -apache_detect() {
54 - local i=0
55 - for x in "${@}"; do
56 - case "${x}" in
57 - 'Total Accesses') apache_key_accesses=$((i + 1)) ;;
58 - 'Total kBytes') apache_key_kbytes=$((i + 1)) ;;
59 - 'ReqPerSec') apache_key_reqpersec=$((i + 1)) ;;
60 - 'BytesPerSec') apache_key_bytespersec=$((i + 1)) ;;
61 - 'BytesPerReq') apache_key_bytesperreq=$((i + 1)) ;;
62 - 'BusyWorkers') apache_key_busyworkers=$((i + 1)) ;;
63 - 'IdleWorkers') apache_key_idleworkers=$((i + 1)) ;;
64 - 'ConnsTotal') apache_key_connstotal=$((i + 1)) ;;
65 - 'ConnsAsyncWriting') apache_key_connsasyncwriting=$((i + 1)) ;;
66 - 'ConnsAsyncKeepAlive') apache_key_connsasynckeepalive=$((i + 1)) ;;
67 - 'ConnsAsyncClosing') apache_key_connsasyncclosing=$((i + 1)) ;;
68 - 'Scoreboard') apache_key_scoreboard=$((i)) ;;
69 - esac
70 -
71 - i=$((i + 1))
72 - done
73 -
74 - # we will not check of the Conns*
75 - # keys, since these are apache 2.4 specific
76 - [ -z "${apache_key_accesses}" ] && error "missing 'Total Accesses' from apache server: ${*}" && return 1
77 - [ -z "${apache_key_kbytes}" ] && error "missing 'Total kBytes' from apache server: ${*}" && return 1
78 - [ -z "${apache_key_reqpersec}" ] && error "missing 'ReqPerSec' from apache server: ${*}" && return 1
79 - [ -z "${apache_key_bytespersec}" ] && error "missing 'BytesPerSec' from apache server: ${*}" && return 1
80 - [ -z "${apache_key_bytesperreq}" ] && error "missing 'BytesPerReq' from apache server: ${*}" && return 1
81 - [ -z "${apache_key_busyworkers}" ] && error "missing 'BusyWorkers' from apache server: ${*}" && return 1
82 - [ -z "${apache_key_idleworkers}" ] && error "missing 'IdleWorkers' from apache server: ${*}" && return 1
83 - [ -z "${apache_key_scoreboard}" ] && error "missing 'Scoreboard' from apache server: ${*}" && return 1
84 -
85 - if [ ! -z "${apache_key_connstotal}" ] &&
86 - [ ! -z "${apache_key_connsasyncwriting}" ] &&
87 - [ ! -z "${apache_key_connsasynckeepalive}" ] &&
88 - [ ! -z "${apache_key_connsasyncclosing}" ]; then
89 - apache_has_conns=1
90 - else
91 - apache_has_conns=0
92 - fi
93 -
94 - return 0
95 -}
96 -
97 -apache_get() {
98 - local oIFS="${IFS}" ret
99 - # shellcheck disable=2207
100 - IFS=$':\n' apache_response=($(run curl -Ss ${apache_curl_opts} "${apache_url}"))
101 - ret=$?
102 - IFS="${oIFS}"
103 -
104 - if [ $ret -ne 0 ] || [ "${#apache_response[@]}" -eq 0 ]; then
105 - return 1
106 - fi
107 -
108 - # the last line on the apache output is "Scoreboard"
109 - # we use this label to detect that the output has a new word count
110 - if [ ${apache_keys_detected} -eq 0 ] || [ "${apache_response[${apache_key_scoreboard}]}" != "Scoreboard" ]; then
111 - apache_detect "${apache_response[@]}" || return 1
112 - apache_keys_detected=1
113 - fi
114 -
115 - apache_accesses="${apache_response[${apache_key_accesses}]}"
116 - apache_kbytes="${apache_response[${apache_key_kbytes}]}"
117 -
118 - float2int "${apache_response[${apache_key_reqpersec}]}" ${apache_decimal_detail}
119 - apache_reqpersec=${FLOAT2INT_RESULT}
120 -
121 - float2int "${apache_response[${apache_key_bytespersec}]}" ${apache_decimal_detail}
122 - apache_bytespersec=${FLOAT2INT_RESULT}
123 -
124 - float2int "${apache_response[${apache_key_bytesperreq}]}" ${apache_decimal_detail}
125 - apache_bytesperreq=${FLOAT2INT_RESULT}
126 -
127 - apache_busyworkers="${apache_response[${apache_key_busyworkers}]}"
128 - apache_idleworkers="${apache_response[${apache_key_idleworkers}]}"
129 -
130 - if
131 - [ -z "${apache_accesses}" ] ||
132 - [ -z "${apache_kbytes}" ] ||
133 - [ -z "${apache_reqpersec}" ] ||
134 - [ -z "${apache_bytespersec}" ] ||
135 - [ -z "${apache_bytesperreq}" ] ||
136 - [ -z "${apache_busyworkers}" ]
137 - [ -z "${apache_idleworkers}" ]
138 - then
139 - error "empty values got from apache server: ${apache_response[*]}"
140 - return 1
141 - fi
142 -
143 - if [ ${apache_has_conns} -eq 1 ]; then
144 - apache_connstotal="${apache_response[${apache_key_connstotal}]}"
145 - apache_connsasyncwriting="${apache_response[${apache_key_connsasyncwriting}]}"
146 - apache_connsasynckeepalive="${apache_response[${apache_key_connsasynckeepalive}]}"
147 - apache_connsasyncclosing="${apache_response[${apache_key_connsasyncclosing}]}"
148 - fi
149 -
150 - return 0
151 -}
152 -
153 -# _check is called once, to find out if this chart should be enabled or not
154 -apache_check() {
155 -
156 - apache_get
157 - # shellcheck disable=2181
158 - if [ $? -ne 0 ]; then
159 - # shellcheck disable=2154
160 - error "cannot find stub_status on URL '${apache_url}'. Please set apache_url='http://apache.server:80/server-status?auto' in $confd/apache.conf"
161 - return 1
162 - fi
163 -
164 - # this should return:
165 - # - 0 to enable the chart
166 - # - 1 to disable the chart
167 -
168 - return 0
169 -}
170 -
171 -# _create is called once, to create the charts
172 -apache_create() {
173 - cat <<EOF
174 -CHART apache_local.bytesperreq '' "apache Lifetime Avg. Response Size" "bytes/request" statistics apache.bytesperreq area $((apache_priority + 8)) $apache_update_every
175 -DIMENSION size '' absolute 1 ${apache_decimal_detail}
176 -CHART apache_local.workers '' "apache Workers" "workers" workers apache.workers stacked $((apache_priority + 5)) $apache_update_every
177 -DIMENSION idle '' absolute 1 1
178 -DIMENSION busy '' absolute 1 1
179 -CHART apache_local.reqpersec '' "apache Lifetime Avg. Requests/s" "requests/s" statistics apache.reqpersec line $((apache_priority + 6)) $apache_update_every
180 -DIMENSION requests '' absolute 1 ${apache_decimal_detail}
181 -CHART apache_local.bytespersec '' "apache Lifetime Avg. Bandwidth/s" "kilobits/s" statistics apache.bytespersec area $((apache_priority + 7)) $apache_update_every
182 -DIMENSION sent '' absolute 8 $((apache_decimal_detail * 1000))
183 -CHART apache_local.requests '' "apache Requests" "requests/s" requests apache.requests line $((apache_priority + 1)) $apache_update_every
184 -DIMENSION requests '' incremental 1 1
185 -CHART apache_local.net '' "apache Bandwidth" "kilobits/s" bandwidth apache.net area $((apache_priority + 3)) $apache_update_every
186 -DIMENSION sent '' incremental 8 1
187 -EOF
188 -
189 - if [ ${apache_has_conns} -eq 1 ]; then
190 - cat <<EOF2
191 -CHART apache_local.connections '' "apache Connections" "connections" connections apache.connections line $((apache_priority + 2)) $apache_update_every
192 -DIMENSION connections '' absolute 1 1
193 -CHART apache_local.conns_async '' "apache Async Connections" "connections" connections apache.conns_async stacked $((apache_priority + 4)) $apache_update_every
194 -DIMENSION keepalive '' absolute 1 1
195 -DIMENSION closing '' absolute 1 1
196 -DIMENSION writing '' absolute 1 1
197 -EOF2
198 - fi
199 -
200 - return 0
201 -}
202 -
203 -# _update is called continuously, to collect the values
204 -apache_update() {
205 - # the first argument to this function is the microseconds since last update
206 - # pass this parameter to the BEGIN statement (see bellow).
207 -
208 - # do all the work to collect / calculate the values
209 - # for each dimension
210 - # remember: KEEP IT SIMPLE AND SHORT
211 -
212 - apache_get || return 1
213 -
214 - # write the result of the work.
215 - cat <<VALUESEOF
216 -BEGIN apache_local.requests $1
217 -SET requests = $((apache_accesses))
218 -END
219 -BEGIN apache_local.net $1
220 -SET sent = $((apache_kbytes))
221 -END
222 -BEGIN apache_local.reqpersec $1
223 -SET requests = $((apache_reqpersec))
224 -END
225 -BEGIN apache_local.bytespersec $1
226 -SET sent = $((apache_bytespersec))
227 -END
228 -BEGIN apache_local.bytesperreq $1
229 -SET size = $((apache_bytesperreq))
230 -END
231 -BEGIN apache_local.workers $1
232 -SET idle = $((apache_idleworkers))
233 -SET busy = $((apache_busyworkers))
234 -END
235 -VALUESEOF
236 -
237 - if [ ${apache_has_conns} -eq 1 ]; then
238 - cat <<VALUESEOF2
239 -BEGIN apache_local.connections $1
240 -SET connections = $((apache_connstotal))
241 -END
242 -BEGIN apache_local.conns_async $1
243 -SET keepalive = $((apache_connsasynckeepalive))
244 -SET closing = $((apache_connsasyncclosing))
245 -SET writing = $((apache_connsasyncwriting))
246 -END
247 -VALUESEOF2
248 - fi
249 -
250 - return 0
251 -}
collectors/charts.d.plugin/apache/apache.conf deleted
-30
@@ -1,30 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# USE THE PYTHON.D ONE
10 -
11 -# the URL to download apache status info
12 -#apache_url="http://127.0.0.1:80/server-status?auto"
13 -#apache_curl_opts=
14 -
15 -# convert apache floating point values
16 -# to integer using this multiplier
17 -# this only affects precision - the values
18 -# will be in the proper units
19 -#apache_decimal_detail=1000000
20 -
21 -# the data collection frequency
22 -# if unset, will inherit the netdata update frequency
23 -#apache_update_every=
24 -
25 -# the charts priority on the dashboard
26 -#apache_priority=60000
27 -
28 -# the number of retries to do in case of failure
29 -# before disabling the module
30 -#apache_retries=10
collectors/charts.d.plugin/charts.d.conf
-18
@@ -45,21 +45,3 @@
45 # Nothing useful.
46 # Just an example charts.d plugin you can use as a template.
47 # example=force
48 -
49 -# OLD MODULES THAT ARE NOW SERVED BY python.d.plugin
50 -# apache=force
51 -# cpufreq=force
52 -# exim=force
53 -# hddtemp=force
54 -# mysql=force
55 -# nginx=force
56 -# phpfpm=force
57 -# postfix=force
58 -# sensors=force
59 -# squid=force
60 -# tomcat=force
61 -
62 -# OLD MODULES THAT ARE NOW SERVED BY NETDATA DAEMON
63 -# cpu_apps=force
64 -# mem_apps=force
65 -# load_average=force
collectors/charts.d.plugin/charts.d.plugin.in
+22 -2
@@ -404,14 +404,34 @@ declare -A charts_enable_keyword=(
404 ['tomcat']="force"
405 )
406
407 +declare -A obsolete_charts=(
408 + ['apache']="python.d.plugin module"
409 + ['cpu_apps']="apps.plugin"
410 + ['cpufreq']="proc plugin"
411 + ['exim']="python.d.plugin module"
412 + ['hddtemp']="python.d.plugin module"
413 + ['load_average']="proc plugin"
414 + ['mem_apps']="proc plugin"
415 + ['mysql']="python.d.plugin module"
416 + ['nginx']="python.d.plugin module"
417 + ['phpfpm']="python.d.plugin module"
418 + ['postfix']="python.d.plugin module"
419 + ['squid']="python.d.plugin module"
420 + ['tomcat']="python.d.plugin module"
421 +)
422 +
423 all_enabled_charts() {
408 - local charts= enabled= required=
424 + local charts enabled required
425
426 # find all enabled charts
411 -
427 for chart in $(all_charts); do
428 MODULE_NAME="${chart}"
429
430 + if [ -n "${obsolete_charts["$MODULE_NAME"]}" ]; then
431 + debug "is replaced by ${obsolete_charts["$MODULE_NAME"]}, skipping it."
432 + continue
433 + fi
434 +
435 eval "enabled=\$$chart"
436 if [ -z "${enabled}" ]; then
437 enabled="${enable_all_charts}"
collectors/charts.d.plugin/cpu_apps/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += cpu_apps/cpu_apps.chart.sh
9 -dist_chartsconfig_DATA += cpu_apps/cpu_apps.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += cpu_apps/README.md cpu_apps/Makefile.inc
13 -
collectors/charts.d.plugin/cpu_apps/README.md deleted
-6
@@ -1,6 +0,0 @@
1 -# cpu_apps
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [APPS.PLUGIN](../../apps.plugin).
5 -
6 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fcpu_apps%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/cpu_apps/cpu_apps.chart.sh deleted
-70
@@ -1,70 +0,0 @@
1 -# shellcheck shell=bash disable=SC2154,SC1072,SC1073,SC2009,SC2162,SC2006,SC2002,SC2086,SC1117
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -# THIS PLUGIN IS OBSOLETE
10 -# USE apps.plugin INSTEAD
11 -
12 -# a space separated list of command to monitor
13 -cpu_apps_apps=
14 -
15 -# these are required for computing memory in bytes and cpu in seconds
16 -#cpu_apps_pagesize="`getconf PAGESIZE`"
17 -cpu_apps_clockticks="$(getconf CLK_TCK)"
18 -
19 -cpu_apps_update_every=60
20 -
21 -cpu_apps_check() {
22 - # this should return:
23 - # - 0 to enable the chart
24 - # - 1 to disable the chart
25 -
26 - if [ -z "$cpu_apps_apps" ]; then
27 - error "manual configuration required: please set cpu_apps_apps='command1 command2 ...' in $confd/cpu_apps_apps.conf"
28 - return 1
29 - fi
30 - return 0
31 -}
32 -
33 -cpu_apps_bc_finalze=
34 -
35 -cpu_apps_create() {
36 -
37 - echo "CHART chartsd_apps.cpu '' 'Apps CPU' 'milliseconds / $cpu_apps_update_every sec' apps apps stacked 20001 $cpu_apps_update_every"
38 -
39 - local x=
40 - for x in $cpu_apps_apps; do
41 - echo "DIMENSION $x $x incremental 1000 $cpu_apps_clockticks"
42 -
43 - # this string is needed later in the update() function
44 - # to finalize the instructions for the bc command
45 - cpu_apps_bc_finalze="$cpu_apps_bc_finalze \"SET $x = \"; $x;"
46 - done
47 - return 0
48 -}
49 -
50 -cpu_apps_update() {
51 - # do all the work to collect / calculate the values
52 - # for each dimension
53 - # remember: KEEP IT SIMPLE AND SHORT
54 -
55 - echo "BEGIN chartsd_apps.cpu"
56 - ps -o pid,comm -C "$cpu_apps_apps" |
57 - grep -v "COMMAND" |
58 - (
59 - while read pid name; do
60 - echo "$name+=$(cat /proc/$pid/stat | cut -d ' ' -f 14-15)"
61 - done
62 - ) |
63 - (
64 - sed -e "s/ \+/ /g" -e "s/ /+/g"
65 - echo "$cpu_apps_bc_finalze"
66 - ) | bc
67 - echo "END"
68 -
69 - return 0
70 -}
collectors/charts.d.plugin/cpu_apps/cpu_apps.conf deleted
-19
@@ -1,19 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# app.plugin can do better
10 -
11 -#cpu_apps_apps=
12 -
13 -# the data collection frequency
14 -# if unset, will inherit the netdata update frequency
15 -#cpu_apps_update_every=2
16 -
17 -# the number of retries to do in case of failure
18 -# before disabling the module
19 -#cpu_apps_retries=10
collectors/charts.d.plugin/cpufreq/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += cpufreq/cpufreq.chart.sh
9 -dist_chartsconfig_DATA += cpufreq/cpufreq.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += cpufreq/README.md cpufreq/Makefile.inc
13 -
collectors/charts.d.plugin/cpufreq/README.md deleted
-6
@@ -1,6 +0,0 @@
1 -# cpufreq
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE THE [PROC PLUGIN](../../proc.plugin) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
5 -
6 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fcpufreq%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/cpufreq/cpufreq.chart.sh deleted
-88
@@ -1,88 +0,0 @@
1 -# shellcheck shell=bash
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -
10 -# if this chart is called X.chart.sh, then all functions and global variables
11 -# must start with X_
12 -
13 -cpufreq_sys_dir="${NETDATA_HOST_PREFIX}/sys/devices"
14 -cpufreq_sys_depth=10
15 -cpufreq_source_update=1
16 -
17 -# _update_every is a special variable - it holds the number of seconds
18 -# between the calls of the _update() function
19 -cpufreq_update_every=
20 -cpufreq_priority=10000
21 -
22 -cpufreq_find_all_files() {
23 - find "$1" -maxdepth $cpufreq_sys_depth -name scaling_cur_freq 2>/dev/null
24 -}
25 -
26 -# _check is called once, to find out if this chart should be enabled or not
27 -cpufreq_check() {
28 -
29 - # this should return:
30 - # - 0 to enable the chart
31 - # - 1 to disable the chart
32 -
33 - [ -z "$(cpufreq_find_all_files "$cpufreq_sys_dir")" ] && return 1
34 - return 0
35 -}
36 -
37 -# _create is called once, to create the charts
38 -cpufreq_create() {
39 - local dir file id i
40 -
41 - # we create a script with the source of the
42 - # cpufreq_update() function
43 - # - the highest speed we can achieve -
44 - [ $cpufreq_source_update -eq 1 ] && echo >"$TMP_DIR/cpufreq.sh" "cpufreq_update() {"
45 -
46 - echo "CHART cpu.cpufreq '' 'CPU Clock' 'MHz' 'cpufreq' '' line $((cpufreq_priority + 1)) $cpufreq_update_every"
47 - echo >>"$TMP_DIR/cpufreq.sh" "echo \"BEGIN cpu.cpufreq \$1\""
48 -
49 - i=0
50 - for file in $(cpufreq_find_all_files "$cpufreq_sys_dir" | sort -u); do
51 - i=$((i + 1))
52 - dir=$(dirname "$file")
53 - cpu=
54 -
55 - [ -f "$dir/affected_cpus" ] && cpu=$(cat "$dir/affected_cpus")
56 - [ -z "$cpu" ] && cpu="$i.a"
57 -
58 - id="$(fixid "cpu$cpu")"
59 -
60 - debug "file='$file', dir='$dir', cpu='$cpu', id='$id'"
61 -
62 - echo "DIMENSION $id '$id' absolute 1 1000"
63 - echo >>"$TMP_DIR/cpufreq.sh" "echo \"SET $id = \"\$(< $file )"
64 - done
65 - echo >>"$TMP_DIR/cpufreq.sh" "echo END"
66 -
67 - [ $cpufreq_source_update -eq 1 ] && echo >>"$TMP_DIR/cpufreq.sh" "}"
68 -
69 - # ok, load the function cpufreq_update() we created
70 - # shellcheck disable=SC1090
71 - [ $cpufreq_source_update -eq 1 ] && . "$TMP_DIR/cpufreq.sh"
72 -
73 - return 0
74 -}
75 -
76 -# _update is called continuously, to collect the values
77 -cpufreq_update() {
78 - # the first argument to this function is the microseconds since last update
79 - # pass this parameter to the BEGIN statement (see bellow).
80 -
81 - # do all the work to collect / calculate the values
82 - # for each dimension
83 - # remember: KEEP IT SIMPLE AND SHORT
84 - # shellcheck disable=SC1090
85 - [ $cpufreq_source_update -eq 0 ] && . "$TMP_DIR/cpufreq.sh" "$1"
86 -
87 - return 0
88 -}
collectors/charts.d.plugin/cpufreq/cpufreq.conf deleted
-24
@@ -1,24 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# USE THE PYTHON.D ONE
10 -
11 -#cpufreq_sys_dir="/sys/devices"
12 -#cpufreq_sys_depth=10
13 -#cpufreq_source_update=1
14 -
15 -# the data collection frequency
16 -# if unset, will inherit the netdata update frequency
17 -#cpufreq_update_every=
18 -
19 -# the charts priority on the dashboard
20 -#cpufreq_priority=10000
21 -
22 -# the number of retries to do in case of failure
23 -# before disabling the module
24 -#cpufreq_retries=10
collectors/charts.d.plugin/exim/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += exim/exim.chart.sh
9 -dist_chartsconfig_DATA += exim/exim.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += exim/README.md exim/Makefile.inc
13 -
collectors/charts.d.plugin/exim/README.md deleted
-6
@@ -1,6 +0,0 @@
1 -# exim
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [THE PYTHON ONE](../../python.d.plugin/exim) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
5 -
6 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fexim%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/exim/exim.chart.sh deleted
-46
@@ -1,46 +0,0 @@
1 -# shellcheck shell=bash
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -# Contributed by @jsveiga with PR #480
10 -
11 -# the exim command to run
12 -exim_command=
13 -
14 -# how frequently to collect queue size
15 -exim_update_every=5
16 -
17 -exim_priority=60000
18 -
19 -exim_check() {
20 - if [ -z "${exim_command}" ]; then
21 - require_cmd exim || return 1
22 - exim_command="${EXIM_CMD}"
23 - fi
24 -
25 - if [ "$(${exim_command} -bpc 2>&1 | grep -c denied)" -ne 0 ]; then
26 - error "permission denied - please set 'queue_list_requires_admin = false' in your exim options file"
27 - return 1
28 - fi
29 -
30 - return 0
31 -}
32 -
33 -exim_create() {
34 - cat <<EOF
35 -CHART exim_local.qemails '' "Exim Queue Emails" "emails" queue exim.queued.emails line $((exim_priority + 1)) $exim_update_every
36 -DIMENSION emails '' absolute 1 1
37 -EOF
38 - return 0
39 -}
40 -
41 -exim_update() {
42 - echo "BEGIN exim_local.qemails $1"
43 - echo "SET emails = $(run "${exim_command}" -bpc)"
44 - echo "END"
45 - return 0
46 -}
collectors/charts.d.plugin/exim/exim.conf deleted
-24
@@ -1,24 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# USE THE PYTHON.D ONE
10 -
11 -# the exim command to run
12 -# if empty, it will use the one found in the system path
13 -#exim_command=
14 -
15 -# the data collection frequency
16 -# if unset, will inherit the netdata update frequency
17 -#exim_update_every=5
18 -
19 -# the charts priority on the dashboard
20 -#exim_priority=60000
21 -
22 -# the number of retries to do in case of failure
23 -# before disabling the module
24 -#exim_retries=10
collectors/charts.d.plugin/hddtemp/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += hddtemp/hddtemp.chart.sh
9 -dist_chartsconfig_DATA += hddtemp/hddtemp.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += hddtemp/README.md hddtemp/Makefile.inc
13 -
collectors/charts.d.plugin/hddtemp/README.md deleted
-30
@@ -1,30 +0,0 @@
1 -# hddtemp
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [THE PYTHON ONE](../../python.d.plugin/hddtemp) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
5 -
6 -The plugin will collect temperatures from disks
7 -
8 -It will create one chart with all active disks
9 -
10 -1. **temperature in Celsius**
11 -
12 -## configuration
13 -
14 -hddtemp needs to be running in daemonized mode
15 -
16 -```sh
17 -# host with daemonized hddtemp
18 -hddtemp_host="localhost"
19 -
20 -# port on which hddtemp is showing data
21 -hddtemp_port="7634"
22 -
23 -# array of included disks
24 -# the default is to include all
25 -hddtemp_disks=()
26 -```
27 -
28 ----
29 -
30 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fhddtemp%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/hddtemp/hddtemp.chart.sh deleted
-77
@@ -1,77 +0,0 @@
1 -# shellcheck shell=bash
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -# contributed by @paulfantom with PR #511
10 -
11 -# if this chart is called X.chart.sh, then all functions and global variables
12 -# must start with X_
13 -hddtemp_host="localhost"
14 -hddtemp_port="7634"
15 -declare -A hddtemp_disks=()
16 -
17 -# _update_every is a special variable - it holds the number of seconds
18 -# between the calls of the _update() function
19 -hddtemp_update_every=3
20 -hddtemp_priority=90000
21 -
22 -# _check is called once, to find out if this chart should be enabled or not
23 -hddtemp_check() {
24 - require_cmd nc || return 1
25 - run nc $hddtemp_host $hddtemp_port && return 0 || return 1
26 -}
27 -
28 -# _create is called once, to create the charts
29 -hddtemp_create() {
30 - if [ ${#hddtemp_disks[@]} -eq 0 ]; then
31 - local all
32 - all=$(nc $hddtemp_host $hddtemp_port)
33 - unset hddtemp_disks
34 - # shellcheck disable=SC2190,SC2207
35 - hddtemp_disks=($(grep -Po '/dev/[^|]+' <<<"$all" | cut -c 6-))
36 - fi
37 - # local disk_names
38 - # disk_names=(`sed -e 's/||/\n/g;s/^|//' <<< "$all" | cut -d '|' -f2 | tr ' ' '_'`)
39 -
40 - echo "CHART hddtemp.temperature 'disks_temp' 'temperature' 'Celsius' 'Disks temperature' 'hddtemp.temp' line $((hddtemp_priority)) $hddtemp_update_every"
41 - for i in $(seq 0 $((${#hddtemp_disks[@]} - 1))); do
42 - # echo "DIMENSION ${hddtemp_disks[i]} ${disk_names[i]} absolute 1 1"
43 - echo "DIMENSION ${hddtemp_disks[$i]} '' absolute 1 1"
44 - done
45 - return 0
46 -}
47 -
48 -# _update is called continuously, to collect the values
49 -#hddtemp_last=0
50 -#hddtemp_count=0
51 -hddtemp_update() {
52 - # local all=( `nc $hddtemp_host $hddtemp_port | sed -e 's/||/\n/g;s/^|//' | cut -d '|' -f3` )
53 - # local all=( `nc $hddtemp_host $hddtemp_port | awk 'BEGIN { FS="|" };{i=4; while (i <= NF) {print $i+0;i+=5;};}'` )
54 - OLD_IFS=$IFS
55 - set -f
56 - # shellcheck disable=SC2207
57 - IFS="|" all=($(nc $hddtemp_host $hddtemp_port 2>/dev/null))
58 - set +f
59 - IFS=$OLD_IFS
60 -
61 - # check if there is some data
62 - if [ -z "${all[3]}" ]; then
63 - return 1
64 - fi
65 -
66 - # write the result of the work.
67 - echo "BEGIN hddtemp.temperature $1"
68 - end=${#hddtemp_disks[@]}
69 - for ((i = 0; i < end; i++)); do
70 - # temperature - this will turn SLP to zero
71 - t=$((all[$((i * 5 + 3))]))
72 - echo "SET ${hddtemp_disks[$i]} = $t"
73 - done
74 - echo "END"
75 -
76 - return 0
77 -}
collectors/charts.d.plugin/hddtemp/hddtemp.conf deleted
-23
@@ -1,23 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# USE THE PYTHON.D ONE
10 -
11 -#hddtemp_host="localhost"
12 -#hddtemp_port="7634"
13 -
14 -# the data collection frequency
15 -# if unset, will inherit the netdata update frequency
16 -#hddtemp_update_every=3
17 -
18 -# the charts priority on the dashboard
19 -#hddtemp_priority=90000
20 -
21 -# the number of retries to do in case of failure
22 -# before disabling the module
23 -#hddtemp_retries=10
collectors/charts.d.plugin/load_average/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += load_average/load_average.chart.sh
9 -dist_chartsconfig_DATA += load_average/load_average.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += load_average/README.md load_average/Makefile.inc
13 -
collectors/charts.d.plugin/load_average/README.md deleted
-6
@@ -1,6 +0,0 @@
1 -# load_average
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> THE NETDATA DAEMON COLLECTS LOAD AVERAGE BY ITSELF
5 -
6 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fload_average%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/load_average/load_average.chart.sh deleted
-69
@@ -1,69 +0,0 @@
1 -# shellcheck shell=bash disable=SC2154,SC1072,SC1073,SC2009,SC2162,SC2006,SC2002,SC2086,SC1117
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -
10 -load_average_update_every=5
11 -load_priority=100
12 -
13 -# this is an example charts.d collector
14 -# it is disabled by default.
15 -# there is no point to enable it, since netdata already
16 -# collects this information using its internal plugins.
17 -load_average_enabled=0
18 -
19 -load_average_check() {
20 - # this should return:
21 - # - 0 to enable the chart
22 - # - 1 to disable the chart
23 -
24 - if [ ${load_average_update_every} -lt 5 ]; then
25 - # there is no meaning for shorter than 5 seconds
26 - # the kernel changes this value every 5 seconds
27 - load_average_update_every=5
28 - fi
29 -
30 - [ ${load_average_enabled} -eq 0 ] && return 1
31 - return 0
32 -}
33 -
34 -load_average_create() {
35 - # create a chart with 3 dimensions
36 - cat <<EOF
37 -CHART system.load '' "System Load Average" "load" load system.load line $((load_priority + 1)) $load_average_update_every
38 -DIMENSION load1 '1 min' absolute 1 100
39 -DIMENSION load5 '5 mins' absolute 1 100
40 -DIMENSION load15 '15 mins' absolute 1 100
41 -EOF
42 -
43 - return 0
44 -}
45 -
46 -load_average_update() {
47 - # do all the work to collect / calculate the values
48 - # for each dimension
49 - # remember: KEEP IT SIMPLE AND SHORT
50 -
51 - # here we parse the system average load
52 - # it is decimal (with 2 decimal digits), so we remove the dot and
53 - # at the definition we have divisor = 100, to have the graph show the right value
54 - loadavg="$(cat /proc/loadavg | sed -e "s/\.//g")"
55 - load1=$(echo $loadavg | cut -d ' ' -f 1)
56 - load5=$(echo $loadavg | cut -d ' ' -f 2)
57 - load15=$(echo $loadavg | cut -d ' ' -f 3)
58 -
59 - # write the result of the work.
60 - cat <<VALUESEOF
61 -BEGIN system.load
62 -SET load1 = $load1
63 -SET load5 = $load5
64 -SET load15 = $load15
65 -END
66 -VALUESEOF
67 -
68 - return 0
69 -}
collectors/charts.d.plugin/load_average/load_average.conf deleted
-22
@@ -1,22 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# netdata can collect this metric already
10 -
11 -#load_average_enabled=0
12 -
13 -# the data collection frequency
14 -# if unset, will inherit the netdata update frequency
15 -#load_average_update_every=5
16 -
17 -# the charts priority on the dashboard
18 -#load_average_priority=100
19 -
20 -# the number of retries to do in case of failure
21 -# before disabling the module
22 -#load_average_retries=10
collectors/charts.d.plugin/mem_apps/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += mem_apps/mem_apps.chart.sh
9 -dist_chartsconfig_DATA += mem_apps/mem_apps.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += mem_apps/README.md mem_apps/Makefile.inc
13 -
collectors/charts.d.plugin/mem_apps/README.md deleted
-6
@@ -1,6 +0,0 @@
1 -# mem_apps
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [APPS.PLUGIN](../../apps.plugin).
5 -
6 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fmem_apps%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/mem_apps/mem_apps.chart.sh deleted
-62
@@ -1,62 +0,0 @@
1 -# shellcheck shell=bash disable=SC2154,SC1072,SC1073,SC2009,SC2162,SC2006,SC2002,SC2086,SC1117
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -
10 -mem_apps_apps=
11 -
12 -# these are required for computing memory in bytes and cpu in seconds
13 -#mem_apps_pagesize="`getconf PAGESIZE`"
14 -#mem_apps_clockticks="`getconf CLK_TCK`"
15 -
16 -mem_apps_update_every=
17 -
18 -mem_apps_check() {
19 - # this should return:
20 - # - 0 to enable the chart
21 - # - 1 to disable the chart
22 -
23 - if [ -z "$mem_apps_apps" ]; then
24 - error "manual configuration required: please set mem_apps_apps='command1 command2 ...' in $confd/mem_apps_apps.conf"
25 - return 1
26 - fi
27 - return 0
28 -}
29 -
30 -mem_apps_bc_finalze=
31 -
32 -mem_apps_create() {
33 -
34 - echo "CHART chartsd_apps.mem '' 'Apps Memory' MB apps apps.mem stacked 20000 $mem_apps_update_every"
35 -
36 - local x=
37 - for x in $mem_apps_apps; do
38 - echo "DIMENSION $x $x absolute 1 1024"
39 -
40 - # this string is needed later in the update() function
41 - # to finalize the instructions for the bc command
42 - mem_apps_bc_finalze="$mem_apps_bc_finalze \"SET $x = \"; $x;"
43 - done
44 - return 0
45 -}
46 -
47 -mem_apps_update() {
48 - # do all the work to collect / calculate the values
49 - # for each dimension
50 - # remember: KEEP IT SIMPLE AND SHORT
51 -
52 - echo "BEGIN chartsd_apps.mem"
53 - ps -o comm,rss -C "$mem_apps_apps" |
54 - grep -v "^COMMAND" |
55 - (
56 - sed -e "s/ \+/ /g" -e "s/ /+=/g"
57 - echo "$mem_apps_bc_finalze"
58 - ) | bc
59 - echo "END"
60 -
61 - return 0
62 -}
collectors/charts.d.plugin/mem_apps/mem_apps.conf deleted
-19
@@ -1,19 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# app.plugin can do better
10 -
11 -#mem_apps_apps=
12 -
13 -# the data collection frequency
14 -# if unset, will inherit the netdata update frequency
15 -#mem_apps_update_every=2
16 -
17 -# the number of retries to do in case of failure
18 -# before disabling the module
19 -#mem_apps_retries=10
collectors/charts.d.plugin/mysql/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += mysql/mysql.chart.sh
9 -dist_chartsconfig_DATA += mysql/mysql.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += mysql/README.md mysql/Makefile.inc
13 -
collectors/charts.d.plugin/mysql/README.md deleted
-88
@@ -1,88 +0,0 @@
1 -# mysql
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [THE PYTHON ONE](../../python.d.plugin/mysql) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
5 -
6 -The plugin will monitor one or more mysql servers
7 -
8 -It will produce the following charts:
9 -
10 -1. **Bandwidth** in kbps
11 -
12 -- in
13 -- out
14 -
15 -2. **Queries** in queries/sec
16 -
17 -- queries
18 -- questions
19 -- slow queries
20 -
21 -3. **Operations** in operations/sec
22 -
23 -- opened tables
24 -- flush
25 -- commit
26 -- delete
27 -- prepare
28 -- read first
29 -- read key
30 -- read next
31 -- read prev
32 -- read random
33 -- read random next
34 -- rollback
35 -- save point
36 -- update
37 -- write
38 -
39 -4. **Table Locks** in locks/sec
40 -
41 -- immediate
42 -- waited
43 -
44 -5. **Select Issues** in issues/sec
45 -
46 -- full join
47 -- full range join
48 -- range
49 -- range check
50 -- scan
51 -
52 -6. **Sort Issues** in issues/sec
53 -
54 -- merge passes
55 -- range
56 -- scan
57 -
58 -## configuration
59 -
60 -You can configure many database servers, like this:
61 -
62 -You can provide, per server, the following:
63 -
64 -1. a name, anything you like, but keep it short
65 -2. the mysql command to connect to the server
66 -3. the mysql command line options to be used for connecting to the server
67 -
68 -Here is an example for 2 servers:
69 -
70 -```sh
71 -mysql_opts[server1]="-h server1.example.com"
72 -mysql_opts[server2]="-h server2.example.com --connect_timeout 2"
73 -```
74 -
75 -The above will use the `mysql` command found in the system path.
76 -You can also provide a custom mysql command per server, like this:
77 -
78 -```sh
79 -mysql_cmds[server2]="/opt/mysql/bin/mysql"
80 -```
81 -
82 -The above sets the mysql command only for server2. server1 will use the system default.
83 -
84 -If no configuration is given, the plugin will attempt to connect to mysql server at localhost.
85 -
86 ----
87 -
88 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fmysql%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/mysql/mysql.chart.sh deleted
-511
@@ -1,511 +0,0 @@
1 -# shellcheck shell=bash
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -
10 -# http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html
11 -#
12 -# https://dev.mysql.com/doc/refman/5.1/en/show-status.html
13 -# SHOW STATUS provides server status information (see Section 5.1.6, “Server Status Variables”).
14 -# This statement does not require any privilege.
15 -# It requires only the ability to connect to the server.
16 -
17 -mysql_update_every=2
18 -mysql_priority=60000
19 -
20 -declare -A mysql_cmds=() mysql_opts=() mysql_ids=() mysql_data=()
21 -
22 -mysql_get() {
23 - local arr
24 - local oIFS="${IFS}"
25 - mysql_data=()
26 - IFS=$'\t'$'\n'
27 - #arr=($(run "${@}" -e "SHOW GLOBAL STATUS WHERE value REGEXP '^[0-9]';" | egrep "^(Bytes|Slow_|Que|Handl|Table|Selec|Sort_|Creat|Conne|Abort|Binlo|Threa|Innod|Qcach|Key_|Open)" ))
28 - #arr=($(run "${@}" -N -e "SHOW GLOBAL STATUS;" | egrep "^(Bytes|Slow_|Que|Handl|Table|Selec|Sort_|Creat|Conne|Abort|Binlo|Threa|Innod|Qcach|Key_|Open)[^ ]+\s[0-9]" ))
29 - # shellcheck disable=SC2207
30 - arr=($(run "${@}" -N -e "SHOW GLOBAL STATUS;" | grep -E "^(Bytes|Slow_|Que|Handl|Table|Selec|Sort_|Creat|Conne|Abort|Binlo|Threa|Innod|Qcach|Key_|Open)[^[:space:]]+[[:space:]]+[0-9]+"))
31 - IFS="${oIFS}"
32 -
33 - [ "${#arr[@]}" -lt 3 ] && return 1
34 - local end=${#arr[@]}
35 - for ((i = 2; i < end; i += 2)); do
36 - mysql_data["${arr[$i]}"]=${arr[i + 1]}
37 - done
38 -
39 - [ -z "${mysql_data[Connections]}" ] && return 1
40 -
41 - mysql_data[Thread_cache_misses]=0
42 - [ $((mysql_data[Connections] + 1 - 1)) -gt 0 ] && mysql_data[Thread_cache_misses]=$((mysql_data[Threads_created] * 10000 / mysql_data[Connections]))
43 -
44 - return 0
45 -}
46 -
47 -mysql_check() {
48 - # this should return:
49 - # - 0 to enable the chart
50 - # - 1 to disable the chart
51 -
52 - local x m mysql_cmd tryroot=0 unconfigured=0
53 -
54 - if [ "${1}" = "tryroot" ]; then
55 - tryroot=1
56 - shift
57 - fi
58 -
59 - # shellcheck disable=SC2230
60 - [ -z "${mysql_cmd}" ] && mysql_cmd="$(which mysql 2>/dev/null || command -v mysql 2>/dev/null)"
61 -
62 - if [ ${#mysql_opts[@]} -eq 0 ]; then
63 - unconfigured=1
64 -
65 - mysql_cmds[local]="$mysql_cmd"
66 -
67 - if [ $tryroot -eq 1 ]; then
68 - # the user has not configured us for mysql access
69 - # if the root user is passwordless in mysql, we can
70 - # attempt to connect to mysql as root
71 - mysql_opts[local]="-u root"
72 - else
73 - mysql_opts[local]=
74 - fi
75 - fi
76 -
77 - # check once if the url works
78 - for m in "${!mysql_opts[@]}"; do
79 - [ -z "${mysql_cmds[$m]}" ] && mysql_cmds[$m]="$mysql_cmd"
80 - if [ -z "${mysql_cmds[$m]}" ]; then
81 - # shellcheck disable=SC2154
82 - error "cannot get mysql command for '${m}'. Please set mysql_cmds[$m]='/path/to/mysql', in $confd/mysql.conf"
83 - fi
84 -
85 - mysql_get "${mysql_cmds[$m]}" ${mysql_opts[$m]}
86 - # shellcheck disable=SC2181
87 - if [ ! $? -eq 0 ]; then
88 - error "cannot get global status for '$m'. Please set mysql_opts[$m]='options' to whatever needed to get connected to the mysql server, in $confd/mysql.conf"
89 - unset "mysql_cmds[$m]"
90 - unset "mysql_opts[$m]"
91 - unset "mysql_ids[$m]"
92 - continue
93 - fi
94 -
95 - mysql_ids[$m]="$(fixid "$m")"
96 - done
97 -
98 - if [ ${#mysql_opts[@]} -eq 0 ]; then
99 - if [ ${unconfigured} -eq 1 ] && [ ${tryroot} -eq 0 ]; then
100 - mysql_check tryroot "${@}"
101 - return $?
102 - else
103 - error "no mysql servers found. Please set mysql_opts[name]='options' to whatever needed to get connected to the mysql server, in $confd/mysql.conf"
104 - return 1
105 - fi
106 - fi
107 -
108 - return 0
109 -}
110 -
111 -mysql_create() {
112 - local x
113 -
114 - # create the charts
115 - for x in "${mysql_ids[@]}"; do
116 - cat <<EOF
117 -CHART mysql_$x.net '' "mysql Bandwidth" "kilobits/s" bandwidth mysql.net area $((mysql_priority + 1)) $mysql_update_every
118 -DIMENSION Bytes_received in incremental 8 1024
119 -DIMENSION Bytes_sent out incremental -8 1024
120 -
121 -CHART mysql_$x.queries '' "mysql Queries" "queries/s" queries mysql.queries line $((mysql_priority + 2)) $mysql_update_every
122 -DIMENSION Queries queries incremental 1 1
123 -DIMENSION Questions questions incremental 1 1
124 -DIMENSION Slow_queries slow_queries incremental -1 1
125 -
126 -CHART mysql_$x.handlers '' "mysql Handlers" "handlers/s" handlers mysql.handlers line $((mysql_priority + 3)) $mysql_update_every
127 -DIMENSION Handler_commit commit incremental 1 1
128 -DIMENSION Handler_delete delete incremental 1 1
129 -DIMENSION Handler_prepare prepare incremental 1 1
130 -DIMENSION Handler_read_first read_first incremental 1 1
131 -DIMENSION Handler_read_key read_key incremental 1 1
132 -DIMENSION Handler_read_next read_next incremental 1 1
133 -DIMENSION Handler_read_prev read_prev incremental 1 1
134 -DIMENSION Handler_read_rnd read_rnd incremental 1 1
135 -DIMENSION Handler_read_rnd_next read_rnd_next incremental 1 1
136 -DIMENSION Handler_rollback rollback incremental 1 1
137 -DIMENSION Handler_savepoint savepoint incremental 1 1
138 -DIMENSION Handler_savepoint_rollback savepoint_rollback incremental 1 1
139 -DIMENSION Handler_update update incremental 1 1
140 -DIMENSION Handler_write write incremental 1 1
141 -
142 -CHART mysql_$x.table_locks '' "mysql Tables Locks" "locks/s" locks mysql.table_locks line $((mysql_priority + 4)) $mysql_update_every
143 -DIMENSION Table_locks_immediate immediate incremental 1 1
144 -DIMENSION Table_locks_waited waited incremental -1 1
145 -
146 -CHART mysql_$x.join_issues '' "mysql Select Join Issues" "joins/s" issues mysql.join_issues line $((mysql_priority + 5)) $mysql_update_every
147 -DIMENSION Select_full_join full_join incremental 1 1
148 -DIMENSION Select_full_range_join full_range_join incremental 1 1
149 -DIMENSION Select_range range incremental 1 1
150 -DIMENSION Select_range_check range_check incremental 1 1
151 -DIMENSION Select_scan scan incremental 1 1
152 -
153 -CHART mysql_$x.sort_issues '' "mysql Sort Issues" "issues/s" issues mysql.sort.issues line $((mysql_priority + 6)) $mysql_update_every
154 -DIMENSION Sort_merge_passes merge_passes incremental 1 1
155 -DIMENSION Sort_range range incremental 1 1
156 -DIMENSION Sort_scan scan incremental 1 1
157 -
158 -CHART mysql_$x.tmp '' "mysql Tmp Operations" "counter" temporaries mysql.tmp line $((mysql_priority + 7)) $mysql_update_every
159 -DIMENSION Created_tmp_disk_tables disk_tables incremental 1 1
160 -DIMENSION Created_tmp_files files incremental 1 1
161 -DIMENSION Created_tmp_tables tables incremental 1 1
162 -
163 -CHART mysql_$x.connections '' "mysql Connections" "connections/s" connections mysql.connections line $((mysql_priority + 8)) $mysql_update_every
164 -DIMENSION Connections all incremental 1 1
165 -DIMENSION Aborted_connects aborded incremental 1 1
166 -
167 -CHART mysql_$x.binlog_cache '' "mysql Binlog Cache" "transactions/s" binlog mysql.binlog_cache line $((mysql_priority + 9)) $mysql_update_every
168 -DIMENSION Binlog_cache_disk_use disk incremental 1 1
169 -DIMENSION Binlog_cache_use all incremental 1 1
170 -
171 -CHART mysql_$x.threads '' "mysql Threads" "threads" threads mysql.threads line $((mysql_priority + 10)) $mysql_update_every
172 -DIMENSION Threads_connected connected absolute 1 1
173 -DIMENSION Threads_created created incremental 1 1
174 -DIMENSION Threads_cached cached absolute -1 1
175 -DIMENSION Threads_running running absolute 1 1
176 -
177 -CHART mysql_$x.thread_cache_misses '' "mysql Threads Cache Misses" "misses" threads mysql.thread_cache_misses area $((mysql_priority + 11)) $mysql_update_every
178 -DIMENSION misses misses absolute 1 100
179 -
180 -CHART mysql_$x.innodb_io '' "mysql InnoDB I/O Bandwidth" "kilobytes/s" innodb mysql.innodb_io area $((mysql_priority + 12)) $mysql_update_every
181 -DIMENSION Innodb_data_read read incremental 1 1024
182 -DIMENSION Innodb_data_written write incremental -1 1024
183 -
184 -CHART mysql_$x.innodb_io_ops '' "mysql InnoDB I/O Operations" "operations/s" innodb mysql.innodb_io_ops line $((mysql_priority + 13)) $mysql_update_every
185 -DIMENSION Innodb_data_reads reads incremental 1 1
186 -DIMENSION Innodb_data_writes writes incremental -1 1
187 -DIMENSION Innodb_data_fsyncs fsyncs incremental 1 1
188 -
189 -CHART mysql_$x.innodb_io_pending_ops '' "mysql InnoDB Pending I/O Operations" "operations" innodb mysql.innodb_io_pending_ops line $((mysql_priority + 14)) $mysql_update_every
190 -DIMENSION Innodb_data_pending_reads reads absolute 1 1
191 -DIMENSION Innodb_data_pending_writes writes absolute -1 1
192 -DIMENSION Innodb_data_pending_fsyncs fsyncs absolute 1 1
193 -
194 -CHART mysql_$x.innodb_log '' "mysql InnoDB Log Operations" "operations/s" innodb mysql.innodb_log line $((mysql_priority + 15)) $mysql_update_every
195 -DIMENSION Innodb_log_waits waits incremental 1 1
196 -DIMENSION Innodb_log_write_requests write_requests incremental -1 1
197 -DIMENSION Innodb_log_writes writes incremental -1 1
198 -
199 -CHART mysql_$x.innodb_os_log '' "mysql InnoDB OS Log Operations" "operations" innodb mysql.innodb_os_log line $((mysql_priority + 16)) $mysql_update_every
200 -DIMENSION Innodb_os_log_fsyncs fsyncs incremental 1 1
201 -DIMENSION Innodb_os_log_pending_fsyncs pending_fsyncs absolute 1 1
202 -DIMENSION Innodb_os_log_pending_writes pending_writes absolute -1 1
203 -
204 -CHART mysql_$x.innodb_os_log_io '' "mysql InnoDB OS Log Bandwidth" "kilobytes/s" innodb mysql.innodb_os_log_io area $((mysql_priority + 17)) $mysql_update_every
205 -DIMENSION Innodb_os_log_written write incremental -1 1024
206 -
207 -CHART mysql_$x.innodb_cur_row_lock '' "mysql InnoDB Current Row Locks" "operations" innodb mysql.innodb_cur_row_lock area $((mysql_priority + 18)) $mysql_update_every
208 -DIMENSION Innodb_row_lock_current_waits current_waits absolute 1 1
209 -
210 -CHART mysql_$x.innodb_rows '' "mysql InnoDB Row Operations" "operations/s" innodb mysql.innodb_rows area $((mysql_priority + 19)) $mysql_update_every
211 -DIMENSION Innodb_rows_read read incremental 1 1
212 -DIMENSION Innodb_rows_deleted deleted incremental -1 1
213 -DIMENSION Innodb_rows_inserted inserted incremental 1 1
214 -DIMENSION Innodb_rows_updated updated incremental -1 1
215 -
216 -CHART mysql_$x.innodb_buffer_pool_pages '' "mysql InnoDB Buffer Pool Pages" "pages" innodb mysql.innodb_buffer_pool_pages line $((mysql_priority + 20)) $mysql_update_every
217 -DIMENSION Innodb_buffer_pool_pages_data data absolute 1 1
218 -DIMENSION Innodb_buffer_pool_pages_dirty dirty absolute -1 1
219 -DIMENSION Innodb_buffer_pool_pages_free free absolute 1 1
220 -DIMENSION Innodb_buffer_pool_pages_flushed flushed incremental -1 1
221 -DIMENSION Innodb_buffer_pool_pages_misc misc absolute -1 1
222 -DIMENSION Innodb_buffer_pool_pages_total total absolute 1 1
223 -
224 -CHART mysql_$x.innodb_buffer_pool_bytes '' "mysql InnoDB Buffer Pool Bytes" "MiB" innodb mysql.innodb_buffer_pool_bytes area $((mysql_priority + 21)) $mysql_update_every
225 -DIMENSION Innodb_buffer_pool_bytes_data data absolute 1 $((1024 * 1024))
226 -DIMENSION Innodb_buffer_pool_bytes_dirty dirty absolute -1 $((1024 * 1024))
227 -
228 -CHART mysql_$x.innodb_buffer_pool_read_ahead '' "mysql InnoDB Buffer Pool Read Ahead" "operations/s" innodb mysql.innodb_buffer_pool_read_ahead area $((mysql_priority + 22)) $mysql_update_every
229 -DIMENSION Innodb_buffer_pool_read_ahead all incremental 1 1
230 -DIMENSION Innodb_buffer_pool_read_ahead_evicted evicted incremental -1 1
231 -DIMENSION Innodb_buffer_pool_read_ahead_rnd random incremental 1 1
232 -
233 -CHART mysql_$x.innodb_buffer_pool_reqs '' "mysql InnoDB Buffer Pool Requests" "requests/s" innodb mysql.innodb_buffer_pool_reqs area $((mysql_priority + 23)) $mysql_update_every
234 -DIMENSION Innodb_buffer_pool_read_requests reads incremental 1 1
235 -DIMENSION Innodb_buffer_pool_write_requests writes incremental -1 1
236 -
237 -CHART mysql_$x.innodb_buffer_pool_ops '' "mysql InnoDB Buffer Pool Operations" "operations/s" innodb mysql.innodb_buffer_pool_ops area $((mysql_priority + 24)) $mysql_update_every
238 -DIMENSION Innodb_buffer_pool_reads 'disk reads' incremental 1 1
239 -DIMENSION Innodb_buffer_pool_wait_free 'wait free' incremental -1 1
240 -
241 -CHART mysql_$x.qcache_ops '' "mysql QCache Operations" "queries/s" qcache mysql.qcache_ops line $((mysql_priority + 25)) $mysql_update_every
242 -DIMENSION Qcache_hits hits incremental 1 1
243 -DIMENSION Qcache_lowmem_prunes 'lowmem prunes' incremental -1 1
244 -DIMENSION Qcache_inserts inserts incremental 1 1
245 -DIMENSION Qcache_not_cached 'not cached' incremental -1 1
246 -
247 -CHART mysql_$x.qcache '' "mysql QCache Queries in Cache" "queries" qcache mysql.qcache line $((mysql_priority + 26)) $mysql_update_every
248 -DIMENSION Qcache_queries_in_cache queries absolute 1 1
249 -
250 -CHART mysql_$x.qcache_freemem '' "mysql QCache Free Memory" "MiB" qcache mysql.qcache_freemem area $((mysql_priority + 27)) $mysql_update_every
251 -DIMENSION Qcache_free_memory free absolute 1 $((1024 * 1024))
252 -
253 -CHART mysql_$x.qcache_memblocks '' "mysql QCache Memory Blocks" "blocks" qcache mysql.qcache_memblocks line $((mysql_priority + 28)) $mysql_update_every
254 -DIMENSION Qcache_free_blocks free absolute 1 1
255 -DIMENSION Qcache_total_blocks total absolute 1 1
256 -
257 -CHART mysql_$x.key_blocks '' "mysql MyISAM Key Cache Blocks" "blocks" myisam mysql.key_blocks line $((mysql_priority + 29)) $mysql_update_every
258 -DIMENSION Key_blocks_unused unused absolute 1 1
259 -DIMENSION Key_blocks_used used absolute -1 1
260 -DIMENSION Key_blocks_not_flushed 'not flushed' absolute 1 1
261 -
262 -CHART mysql_$x.key_requests '' "mysql MyISAM Key Cache Requests" "requests/s" myisam mysql.key_requests area $((mysql_priority + 30)) $mysql_update_every
263 -DIMENSION Key_read_requests reads incremental 1 1
264 -DIMENSION Key_write_requests writes incremental -1 1
265 -
266 -CHART mysql_$x.key_disk_ops '' "mysql MyISAM Key Cache Disk Operations" "operations/s" myisam mysql.key_disk_ops area $((mysql_priority + 31)) $mysql_update_every
267 -DIMENSION Key_reads reads incremental 1 1
268 -DIMENSION Key_writes writes incremental -1 1
269 -
270 -CHART mysql_$x.files '' "mysql Open Files" "files" files mysql.files line $((mysql_priority + 32)) $mysql_update_every
271 -DIMENSION Open_files files absolute 1 1
272 -
273 -CHART mysql_$x.files_rate '' "mysql Opened Files Rate" "files/s" files mysql.files_rate line $((mysql_priority + 33)) $mysql_update_every
274 -DIMENSION Opened_files files incremental 1 1
275 -EOF
276 -
277 - if [ ! -z "${mysql_data[Binlog_stmt_cache_disk_use]}" ]; then
278 - cat <<EOF
279 -CHART mysql_$x.binlog_stmt_cache '' "mysql Binlog Statement Cache" "statements/s" binlog mysql.binlog_stmt_cache line $((mysql_priority + 50)) $mysql_update_every
280 -DIMENSION Binlog_stmt_cache_disk_use disk incremental 1 1
281 -DIMENSION Binlog_stmt_cache_use all incremental 1 1
282 -EOF
283 - fi
284 -
285 - if [ ! -z "${mysql_data[Connection_errors_accept]}" ]; then
286 - cat <<EOF
287 -CHART mysql_$x.connection_errors '' "mysql Connection Errors" "connections/s" connections mysql.connection_errors line $((mysql_priority + 51)) $mysql_update_every
288 -DIMENSION Connection_errors_accept accept incremental 1 1
289 -DIMENSION Connection_errors_internal internal incremental 1 1
290 -DIMENSION Connection_errors_max_connections max incremental 1 1
291 -DIMENSION Connection_errors_peer_addr peer_addr incremental 1 1
292 -DIMENSION Connection_errors_select select incremental 1 1
293 -DIMENSION Connection_errors_tcpwrap tcpwrap incremental 1 1
294 -EOF
295 - fi
296 -
297 - done
298 - return 0
299 -}
300 -
301 -mysql_update() {
302 - # the first argument to this function is the microseconds since last update
303 - # pass this parameter to the BEGIN statement (see bellow).
304 -
305 - # do all the work to collect / calculate the values
306 - # for each dimension
307 - # remember: KEEP IT SIMPLE AND SHORT
308 -
309 - local m x
310 - for m in "${!mysql_ids[@]}"; do
311 - x="${mysql_ids[$m]}"
312 - mysql_get "${mysql_cmds[$m]}" ${mysql_opts[$m]}
313 -
314 - # shellcheck disable=SC2181
315 - if [ $? -ne 0 ]; then
316 - unset "mysql_ids[$m]"
317 - unset "mysql_opts[$m]"
318 - unset "mysql_cmds[$m]"
319 - error "failed to get values for '${m}', disabling it."
320 - continue
321 - fi
322 -
323 - # write the result of the work.
324 - cat <<VALUESEOF
325 -BEGIN mysql_$x.net $1
326 -SET Bytes_received = ${mysql_data[Bytes_received]}
327 -SET Bytes_sent = ${mysql_data[Bytes_sent]}
328 -END
329 -BEGIN mysql_$x.queries $1
330 -SET Queries = ${mysql_data[Queries]}
331 -SET Questions = ${mysql_data[Questions]}
332 -SET Slow_queries = ${mysql_data[Slow_queries]}
333 -END
334 -BEGIN mysql_$x.handlers $1
335 -SET Handler_commit = ${mysql_data[Handler_commit]}
336 -SET Handler_delete = ${mysql_data[Handler_delete]}
337 -SET Handler_prepare = ${mysql_data[Handler_prepare]}
338 -SET Handler_read_first = ${mysql_data[Handler_read_first]}
339 -SET Handler_read_key = ${mysql_data[Handler_read_key]}
340 -SET Handler_read_next = ${mysql_data[Handler_read_next]}
341 -SET Handler_read_prev = ${mysql_data[Handler_read_prev]}
342 -SET Handler_read_rnd = ${mysql_data[Handler_read_rnd]}
343 -SET Handler_read_rnd_next = ${mysql_data[Handler_read_rnd_next]}
344 -SET Handler_rollback = ${mysql_data[Handler_rollback]}
345 -SET Handler_savepoint = ${mysql_data[Handler_savepoint]}
346 -SET Handler_savepoint_rollback = ${mysql_data[Handler_savepoint_rollback]}
347 -SET Handler_update = ${mysql_data[Handler_update]}
348 -SET Handler_write = ${mysql_data[Handler_write]}
349 -END
350 -BEGIN mysql_$x.table_locks $1
351 -SET Table_locks_immediate = ${mysql_data[Table_locks_immediate]}
352 -SET Table_locks_waited = ${mysql_data[Table_locks_waited]}
353 -END
354 -BEGIN mysql_$x.join_issues $1
355 -SET Select_full_join = ${mysql_data[Select_full_join]}
356 -SET Select_full_range_join = ${mysql_data[Select_full_range_join]}
357 -SET Select_range = ${mysql_data[Select_range]}
358 -SET Select_range_check = ${mysql_data[Select_range_check]}
359 -SET Select_scan = ${mysql_data[Select_scan]}
360 -END
361 -BEGIN mysql_$x.sort_issues $1
362 -SET Sort_merge_passes = ${mysql_data[Sort_merge_passes]}
363 -SET Sort_range = ${mysql_data[Sort_range]}
364 -SET Sort_scan = ${mysql_data[Sort_scan]}
365 -END
366 -BEGIN mysql_$x.tmp $1
367 -SET Created_tmp_disk_tables = ${mysql_data[Created_tmp_disk_tables]}
368 -SET Created_tmp_files = ${mysql_data[Created_tmp_files]}
369 -SET Created_tmp_tables = ${mysql_data[Created_tmp_tables]}
370 -END
371 -BEGIN mysql_$x.connections $1
372 -SET Connections = ${mysql_data[Connections]}
373 -SET Aborted_connects = ${mysql_data[Aborted_connects]}
374 -END
375 -BEGIN mysql_$x.binlog_cache $1
376 -SET Binlog_cache_disk_use = ${mysql_data[Binlog_cache_disk_use]}
377 -SET Binlog_cache_use = ${mysql_data[Binlog_cache_use]}
378 -END
379 -BEGIN mysql_$x.threads $1
380 -SET Threads_connected = ${mysql_data[Threads_connected]}
381 -SET Threads_created = ${mysql_data[Threads_created]}
382 -SET Threads_cached = ${mysql_data[Threads_cached]}
383 -SET Threads_running = ${mysql_data[Threads_running]}
384 -END
385 -BEGIN mysql_$x.thread_cache_misses $1
386 -SET misses = ${mysql_data[Thread_cache_misses]}
387 -END
388 -BEGIN mysql_$x.innodb_io $1
389 -SET Innodb_data_read = ${mysql_data[Innodb_data_read]}
390 -SET Innodb_data_written = ${mysql_data[Innodb_data_written]}
391 -END
392 -BEGIN mysql_$x.innodb_io_ops $1
393 -SET Innodb_data_reads = ${mysql_data[Innodb_data_reads]}
394 -SET Innodb_data_writes = ${mysql_data[Innodb_data_writes]}
395 -SET Innodb_data_fsyncs = ${mysql_data[Innodb_data_fsyncs]}
396 -END
397 -BEGIN mysql_$x.innodb_io_pending_ops $1
398 -SET Innodb_data_pending_reads = ${mysql_data[Innodb_data_pending_reads]}
399 -SET Innodb_data_pending_writes = ${mysql_data[Innodb_data_pending_writes]}
400 -SET Innodb_data_pending_fsyncs = ${mysql_data[Innodb_data_pending_fsyncs]}
401 -END
402 -BEGIN mysql_$x.innodb_log $1
403 -SET Innodb_log_waits = ${mysql_data[Innodb_log_waits]}
404 -SET Innodb_log_write_requests = ${mysql_data[Innodb_log_write_requests]}
405 -SET Innodb_log_writes = ${mysql_data[Innodb_log_writes]}
406 -END
407 -BEGIN mysql_$x.innodb_os_log $1
408 -SET Innodb_os_log_fsyncs = ${mysql_data[Innodb_os_log_fsyncs]}
409 -SET Innodb_os_log_pending_fsyncs = ${mysql_data[Innodb_os_log_pending_fsyncs]}
410 -SET Innodb_os_log_pending_writes = ${mysql_data[Innodb_os_log_pending_writes]}
411 -END
412 -BEGIN mysql_$x.innodb_os_log_io $1
413 -SET Innodb_os_log_written = ${mysql_data[Innodb_os_log_written]}
414 -END
415 -BEGIN mysql_$x.innodb_cur_row_lock $1
416 -SET Innodb_row_lock_current_waits = ${mysql_data[Innodb_row_lock_current_waits]}
417 -END
418 -BEGIN mysql_$x.innodb_rows $1
419 -SET Innodb_rows_inserted = ${mysql_data[Innodb_rows_inserted]}
420 -SET Innodb_rows_read = ${mysql_data[Innodb_rows_read]}
421 -SET Innodb_rows_updated = ${mysql_data[Innodb_rows_updated]}
422 -SET Innodb_rows_deleted = ${mysql_data[Innodb_rows_deleted]}
423 -END
424 -BEGIN mysql_$x.innodb_buffer_pool_pages $1
425 -SET Innodb_buffer_pool_pages_data = ${mysql_data[Innodb_buffer_pool_pages_data]}
426 -SET Innodb_buffer_pool_pages_dirty = ${mysql_data[Innodb_buffer_pool_pages_dirty]}
427 -SET Innodb_buffer_pool_pages_free = ${mysql_data[Innodb_buffer_pool_pages_free]}
428 -SET Innodb_buffer_pool_pages_flushed = ${mysql_data[Innodb_buffer_pool_pages_flushed]}
429 -SET Innodb_buffer_pool_pages_misc = ${mysql_data[Innodb_buffer_pool_pages_misc]}
430 -SET Innodb_buffer_pool_pages_total = ${mysql_data[Innodb_buffer_pool_pages_total]}
431 -END
432 -BEGIN mysql_$x.innodb_buffer_pool_bytes $1
433 -SET Innodb_buffer_pool_bytes_data = ${mysql_data[Innodb_buffer_pool_bytes_data]}
434 -SET Innodb_buffer_pool_bytes_dirty = ${mysql_data[Innodb_buffer_pool_bytes_dirty]}
435 -END
436 -BEGIN mysql_$x.innodb_buffer_pool_read_ahead $1
437 -SET Innodb_buffer_pool_read_ahead = ${mysql_data[Innodb_buffer_pool_read_ahead]}
438 -SET Innodb_buffer_pool_read_ahead_evicted = ${mysql_data[Innodb_buffer_pool_read_ahead_evicted]}
439 -SET Innodb_buffer_pool_read_ahead_rnd = ${mysql_data[Innodb_buffer_pool_read_ahead_rnd]}
440 -END
441 -BEGIN mysql_$x.innodb_buffer_pool_reqs $1
442 -SET Innodb_buffer_pool_read_requests = ${mysql_data[Innodb_buffer_pool_read_requests]}
443 -SET Innodb_buffer_pool_write_requests = ${mysql_data[Innodb_buffer_pool_write_requests]}
444 -END
445 -BEGIN mysql_$x.innodb_buffer_pool_ops $1
446 -SET Innodb_buffer_pool_reads = ${mysql_data[Innodb_buffer_pool_reads]}
447 -SET Innodb_buffer_pool_wait_free = ${mysql_data[Innodb_buffer_pool_wait_free]}
448 -END
449 -BEGIN mysql_$x.qcache_ops $1
450 -SET Qcache_hits hits = ${mysql_data[Qcache_hits]}
451 -SET Qcache_lowmem_prunes = ${mysql_data[Qcache_lowmem_prunes]}
452 -SET Qcache_inserts = ${mysql_data[Qcache_inserts]}
453 -SET Qcache_not_cached = ${mysql_data[Qcache_not_cached]}
454 -END
455 -BEGIN mysql_$x.qcache $1
456 -SET Qcache_queries_in_cache = ${mysql_data[Qcache_queries_in_cache]}
457 -END
458 -BEGIN mysql_$x.qcache_freemem $1
459 -SET Qcache_free_memory = ${mysql_data[Qcache_free_memory]}
460 -END
461 -BEGIN mysql_$x.qcache_memblocks $1
462 -SET Qcache_free_blocks = ${mysql_data[Qcache_free_blocks]}
463 -SET Qcache_total_blocks = ${mysql_data[Qcache_total_blocks]}
464 -END
465 -BEGIN mysql_$x.key_blocks $1
466 -SET Key_blocks_unused = ${mysql_data[Key_blocks_unused]}
467 -SET Key_blocks_used = ${mysql_data[Key_blocks_used]}
468 -SET Key_blocks_not_flushed = ${mysql_data[Key_blocks_not_flushed]}
469 -END
470 -BEGIN mysql_$x.key_requests $1
471 -SET Key_read_requests = ${mysql_data[Key_read_requests]}
472 -SET Key_write_requests = ${mysql_data[Key_write_requests]}
473 -END
474 -BEGIN mysql_$x.key_disk_ops $1
475 -SET Key_reads = ${mysql_data[Key_reads]}
476 -SET Key_writes = ${mysql_data[Key_writes]}
477 -END
478 -BEGIN mysql_$x.files $1
479 -SET Open_files = ${mysql_data[Open_files]}
480 -END
481 -BEGIN mysql_$x.files_rate $1
482 -SET Opened_files = ${mysql_data[Opened_files]}
483 -END
484 -VALUESEOF
485 -
486 - if [ ! -z "${mysql_data[Binlog_stmt_cache_disk_use]}" ]; then
487 - cat <<VALUESEOF
488 -BEGIN mysql_$x.binlog_stmt_cache $1
489 -SET Binlog_stmt_cache_disk_use = ${mysql_data[Binlog_stmt_cache_disk_use]}
490 -SET Binlog_stmt_cache_use = ${mysql_data[Binlog_stmt_cache_use]}
491 -END
492 -VALUESEOF
493 - fi
494 -
495 - if [ ! -z "${mysql_data[Connection_errors_accept]}" ]; then
496 - cat <<VALUESEOF
497 -BEGIN mysql_$x.connection_errors $1
498 -SET Connection_errors_accept = ${mysql_data[Connection_errors_accept]}
499 -SET Connection_errors_internal = ${mysql_data[Connection_errors_internal]}
500 -SET Connection_errors_max_connections = ${mysql_data[Connection_errors_max_connections]}
501 -SET Connection_errors_peer_addr = ${mysql_data[Connection_errors_peer_addr]}
502 -SET Connection_errors_select = ${mysql_data[Connection_errors_select]}
503 -SET Connection_errors_tcpwrap = ${mysql_data[Connection_errors_tcpwrap]}
504 -END
505 -VALUESEOF
506 - fi
507 - done
508 -
509 - [ ${#mysql_ids[@]} -eq 0 ] && error "no mysql servers left active." && return 1
510 - return 0
511 -}
collectors/charts.d.plugin/mysql/mysql.conf deleted
-23
@@ -1,23 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# USE THE PYTHON.D ONE
10 -
11 -#mysql_cmds[name]=""
12 -#mysql_opts[name]=""
13 -
14 -# the data collection frequency
15 -# if unset, will inherit the netdata update frequency
16 -#mysql_update_every=2
17 -
18 -# the charts priority on the dashboard
19 -#mysql_priority=60000
20 -
21 -# the number of retries to do in case of failure
22 -# before disabling the module
23 -#mysql_retries=10
collectors/charts.d.plugin/nginx/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += nginx/nginx.chart.sh
9 -dist_chartsconfig_DATA += nginx/nginx.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += nginx/README.md nginx/Makefile.inc
13 -
collectors/charts.d.plugin/nginx/README.md deleted
-6
@@ -1,6 +0,0 @@
1 -# nginx
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [THE PYTHON ONE](../../python.d.plugin/nginx) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
5 -
6 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fnginx%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/nginx/nginx.chart.sh deleted
-141
@@ -1,141 +0,0 @@
1 -# shellcheck shell=bash
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -
10 -# if this chart is called X.chart.sh, then all functions and global variables
11 -# must start with X_
12 -
13 -nginx_url="http://127.0.0.1:80/stub_status"
14 -nginx_curl_opts=""
15 -
16 -# _update_every is a special variable - it holds the number of seconds
17 -# between the calls of the _update() function
18 -nginx_update_every=
19 -nginx_priority=60000
20 -
21 -declare -a nginx_response=()
22 -nginx_active_connections=0
23 -nginx_accepts=0
24 -nginx_handled=0
25 -nginx_requests=0
26 -nginx_reading=0
27 -nginx_writing=0
28 -nginx_waiting=0
29 -nginx_get() {
30 - # shellcheck disable=SC2207
31 - nginx_response=($(run curl -Ss ${nginx_curl_opts} "${nginx_url}"))
32 - # shellcheck disable=SC2181
33 - if [ $? -ne 0 ] || [ "${#nginx_response[@]}" -eq 0 ]; then return 1; fi
34 -
35 - if [ "${nginx_response[0]}" != "Active" ] ||
36 - [ "${nginx_response[1]}" != "connections:" ] ||
37 - [ "${nginx_response[3]}" != "server" ] ||
38 - [ "${nginx_response[4]}" != "accepts" ] ||
39 - [ "${nginx_response[5]}" != "handled" ] ||
40 - [ "${nginx_response[6]}" != "requests" ] ||
41 - [ "${nginx_response[10]}" != "Reading:" ] ||
42 - [ "${nginx_response[12]}" != "Writing:" ] ||
43 - [ "${nginx_response[14]}" != "Waiting:" ]; then
44 - error "Invalid response from nginx server: ${nginx_response[*]}"
45 - return 1
46 - fi
47 -
48 - nginx_active_connections="${nginx_response[2]}"
49 - nginx_accepts="${nginx_response[7]}"
50 - nginx_handled="${nginx_response[8]}"
51 - nginx_requests="${nginx_response[9]}"
52 - nginx_reading="${nginx_response[11]}"
53 - nginx_writing="${nginx_response[13]}"
54 - nginx_waiting="${nginx_response[15]}"
55 -
56 - if [ -z "${nginx_active_connections}" ] ||
57 - [ -z "${nginx_accepts}" ] ||
58 - [ -z "${nginx_handled}" ] ||
59 - [ -z "${nginx_requests}" ] ||
60 - [ -z "${nginx_reading}" ] ||
61 - [ -z "${nginx_writing}" ] ||
62 - [ -z "${nginx_waiting}" ]; then
63 - error "empty values got from nginx server: ${nginx_response[*]}"
64 - return 1
65 - fi
66 -
67 - return 0
68 -}
69 -
70 -# _check is called once, to find out if this chart should be enabled or not
71 -nginx_check() {
72 -
73 - nginx_get
74 - # shellcheck disable=2181
75 - if [ $? -ne 0 ]; then
76 - # shellcheck disable=SC2154
77 - error "cannot find stub_status on URL '${nginx_url}'. Please set nginx_url='http://nginx.server/stub_status' in $confd/nginx.conf"
78 - return 1
79 - fi
80 -
81 - # this should return:
82 - # - 0 to enable the chart
83 - # - 1 to disable the chart
84 -
85 - return 0
86 -}
87 -
88 -# _create is called once, to create the charts
89 -nginx_create() {
90 - cat <<EOF
91 -CHART nginx_local.connections '' "nginx Active Connections" "connections" nginx nginx.connections line $((nginx_priority + 1)) $nginx_update_every
92 -DIMENSION active '' absolute 1 1
93 -
94 -CHART nginx_local.requests '' "nginx Requests" "requests/s" nginx nginx.requests line $((nginx_priority + 2)) $nginx_update_every
95 -DIMENSION requests '' incremental 1 1
96 -
97 -CHART nginx_local.connections_status '' "nginx Active Connections by Status" "connections" nginx nginx.connections.status line $((nginx_priority + 3)) $nginx_update_every
98 -DIMENSION reading '' absolute 1 1
99 -DIMENSION writing '' absolute 1 1
100 -DIMENSION waiting idle absolute 1 1
101 -
102 -CHART nginx_local.connect_rate '' "nginx Connections Rate" "connections/s" nginx nginx.connections.rate line $((nginx_priority + 4)) $nginx_update_every
103 -DIMENSION accepts accepted incremental 1 1
104 -DIMENSION handled '' incremental 1 1
105 -EOF
106 -
107 - return 0
108 -}
109 -
110 -# _update is called continuously, to collect the values
111 -nginx_update() {
112 - # the first argument to this function is the microseconds since last update
113 - # pass this parameter to the BEGIN statement (see bellow).
114 -
115 - # do all the work to collect / calculate the values
116 - # for each dimension
117 - # remember: KEEP IT SIMPLE AND SHORT
118 -
119 - nginx_get || return 1
120 -
121 - # write the result of the work.
122 - cat <<VALUESEOF
123 -BEGIN nginx_local.connections $1
124 -SET active = $((nginx_active_connections))
125 -END
126 -BEGIN nginx_local.requests $1
127 -SET requests = $((nginx_requests))
128 -END
129 -BEGIN nginx_local.connections_status $1
130 -SET reading = $((nginx_reading))
131 -SET writing = $((nginx_writing))
132 -SET waiting = $((nginx_waiting))
133 -END
134 -BEGIN nginx_local.connect_rate $1
135 -SET accepts = $((nginx_accepts))
136 -SET handled = $((nginx_handled))
137 -END
138 -VALUESEOF
139 -
140 - return 0
141 -}
collectors/charts.d.plugin/nginx/nginx.conf deleted
-23
@@ -1,23 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# USE THE PYTHON.D ONE
10 -
11 -#nginx_url="http://127.0.0.1:80/stub_status"
12 -#nginx_curl_opts=""
13 -
14 -# the data collection frequency
15 -# if unset, will inherit the netdata update frequency
16 -#nginx_update_every=
17 -
18 -# the charts priority on the dashboard
19 -#nginx_priority=60000
20 -
21 -# the number of retries to do in case of failure
22 -# before disabling the module
23 -#nginx_retries=10
collectors/charts.d.plugin/phpfpm/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += phpfpm/phpfpm.chart.sh
9 -dist_chartsconfig_DATA += phpfpm/phpfpm.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += phpfpm/README.md phpfpm/Makefile.inc
13 -
collectors/charts.d.plugin/phpfpm/README.md deleted
-6
@@ -1,6 +0,0 @@
1 -# phpfm
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [THE PYTHON ONE](../../python.d.plugin/phpfpm) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
5 -
6 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fphpfpm%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/phpfpm/phpfpm.chart.sh deleted
-169
@@ -1,169 +0,0 @@
1 -# shellcheck shell=bash
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -# Contributed by @safeie with PR #276
10 -
11 -# first, you need open php-fpm status in php-fpm.conf
12 -# second, you need add status location in nginx.conf
13 -# you can see, https://easyengine.io/tutorials/php/fpm-status-page/
14 -
15 -declare -A phpfpm_urls=()
16 -declare -A phpfpm_curl_opts=()
17 -
18 -# _update_every is a special variable - it holds the number of seconds
19 -# between the calls of the _update() function
20 -phpfpm_update_every=
21 -phpfpm_priority=60000
22 -
23 -declare -a phpfpm_response=()
24 -phpfpm_pool=""
25 -phpfpm_start_time=""
26 -phpfpm_start_since=0
27 -phpfpm_accepted_conn=0
28 -phpfpm_listen_queue=0
29 -phpfpm_max_listen_queue=0
30 -phpfpm_listen_queue_len=0
31 -phpfpm_idle_processes=0
32 -phpfpm_active_processes=0
33 -phpfpm_total_processes=0
34 -phpfpm_max_active_processes=0
35 -phpfpm_max_children_reached=0
36 -phpfpm_slow_requests=0
37 -phpfpm_get() {
38 - local opts="${1}" url="${2}"
39 -
40 - # shellcheck disable=SC2207,2086
41 - phpfpm_response=($(run curl -Ss ${opts} "${url}"))
42 - # shellcheck disable=SC2181
43 - if [ $? -ne 0 ] || [ "${#phpfpm_response[@]}" -eq 0 ]; then
44 - return 1
45 - fi
46 -
47 - if [[ ${phpfpm_response[0]} != "pool:" || ${phpfpm_response[2]} != "process" || ${phpfpm_response[5]} != "start" || ${phpfpm_response[12]} != "accepted" || ${phpfpm_response[15]} != "listen" || ${phpfpm_response[16]} != "queue:" || ${phpfpm_response[26]} != "idle" || ${phpfpm_response[29]} != "active" || ${phpfpm_response[32]} != "total" ]]; then
48 - error "invalid response from phpfpm status server: ${phpfpm_response[*]}"
49 - return 1
50 - fi
51 -
52 - phpfpm_pool="${phpfpm_response[1]}"
53 - phpfpm_start_time="${phpfpm_response[7]} ${phpfpm_response[8]}"
54 - phpfpm_start_since="${phpfpm_response[11]}"
55 - phpfpm_accepted_conn="${phpfpm_response[14]}"
56 - phpfpm_listen_queue="${phpfpm_response[17]}"
57 - phpfpm_max_listen_queue="${phpfpm_response[21]}"
58 - phpfpm_listen_queue_len="${phpfpm_response[25]}"
59 - phpfpm_idle_processes="${phpfpm_response[28]}"
60 - phpfpm_active_processes="${phpfpm_response[31]}"
61 - phpfpm_total_processes="${phpfpm_response[34]}"
62 - phpfpm_max_active_processes="${phpfpm_response[38]}"
63 - phpfpm_max_children_reached="${phpfpm_response[42]}"
64 - if [ "${phpfpm_response[43]}" == "slow" ]; then
65 - phpfpm_slow_requests="${phpfpm_response[45]}"
66 - else
67 - phpfpm_slow_requests="-1"
68 - fi
69 -
70 - if [[ -z ${phpfpm_pool} || -z ${phpfpm_start_time} || -z ${phpfpm_start_since} || -z ${phpfpm_accepted_conn} || -z ${phpfpm_listen_queue} || -z ${phpfpm_max_listen_queue} || -z ${phpfpm_listen_queue_len} || -z ${phpfpm_idle_processes} || -z ${phpfpm_active_processes} || -z ${phpfpm_total_processes} || -z ${phpfpm_max_active_processes} || -z ${phpfpm_max_children_reached} ]]; then
71 - error "empty values got from phpfpm status server: ${phpfpm_response[*]}"
72 - return 1
73 - fi
74 -
75 - return 0
76 -}
77 -
78 -# _check is called once, to find out if this chart should be enabled or not
79 -phpfpm_check() {
80 - if [ ${#phpfpm_urls[@]} -eq 0 ]; then
81 - phpfpm_urls[local]="http://localhost/status"
82 - fi
83 -
84 - local m
85 - for m in "${!phpfpm_urls[@]}"; do
86 - phpfpm_get "${phpfpm_curl_opts[$m]}" "${phpfpm_urls[$m]}"
87 - # shellcheck disable=SC2181
88 - if [ $? -ne 0 ]; then
89 - # shellcheck disable=SC2154
90 - error "cannot find status on URL '${phpfpm_urls[$m]}'. Please set phpfpm_urls[$m]='http://localhost/status' in $confd/phpfpm.conf"
91 - unset "phpfpm_urls[$m]"
92 - continue
93 - fi
94 - done
95 -
96 - if [ ${#phpfpm_urls[@]} -eq 0 ]; then
97 - error "no phpfpm servers found. Please set phpfpm_urls[name]='url' to whatever needed to get status to the phpfpm server, in $confd/phpfpm.conf"
98 - return 1
99 - fi
100 -
101 - # this should return:
102 - # - 0 to enable the chart
103 - # - 1 to disable the chart
104 -
105 - return 0
106 -}
107 -
108 -# _create is called once, to create the charts
109 -phpfpm_create() {
110 - local m
111 - for m in "${!phpfpm_urls[@]}"; do
112 - cat <<EOF
113 -CHART phpfpm_$m.connections '' "PHP-FPM Active Connections" "connections" phpfpm phpfpm.connections line $((phpfpm_priority + 1)) $phpfpm_update_every
114 -DIMENSION active '' absolute 1 1
115 -DIMENSION maxActive 'max active' absolute 1 1
116 -DIMENSION idle '' absolute 1 1
117 -
118 -CHART phpfpm_$m.requests '' "PHP-FPM Requests" "requests/s" phpfpm phpfpm.requests line $((phpfpm_priority + 2)) $phpfpm_update_every
119 -DIMENSION requests '' incremental 1 1
120 -
121 -CHART phpfpm_$m.performance '' "PHP-FPM Performance" "status" phpfpm phpfpm.performance line $((phpfpm_priority + 3)) $phpfpm_update_every
122 -DIMENSION reached 'max children reached' absolute 1 1
123 -EOF
124 - if [ $((phpfpm_slow_requests)) -ne -1 ]; then
125 - echo "DIMENSION slow 'slow requests' absolute 1 1"
126 - fi
127 - done
128 -
129 - return 0
130 -}
131 -
132 -# _update is called continuously, to collect the values
133 -phpfpm_update() {
134 - # the first argument to this function is the microseconds since last update
135 - # pass this parameter to the BEGIN statement (see bellow).
136 -
137 - # do all the work to collect / calculate the values
138 - # for each dimension
139 - # remember: KEEP IT SIMPLE AND SHORT
140 -
141 - local m
142 - for m in "${!phpfpm_urls[@]}"; do
143 - phpfpm_get "${phpfpm_curl_opts[$m]}" "${phpfpm_urls[$m]}"
144 - # shellcheck disable=SC2181
145 - if [ $? -ne 0 ]; then
146 - continue
147 - fi
148 -
149 - # write the result of the work.
150 - cat <<EOF
151 -BEGIN phpfpm_$m.connections $1
152 -SET active = $((phpfpm_active_processes))
153 -SET maxActive = $((phpfpm_max_active_processes))
154 -SET idle = $((phpfpm_idle_processes))
155 -END
156 -BEGIN phpfpm_$m.requests $1
157 -SET requests = $((phpfpm_accepted_conn))
158 -END
159 -BEGIN phpfpm_$m.performance $1
160 -SET reached = $((phpfpm_max_children_reached))
161 -EOF
162 - if [ $((phpfpm_slow_requests)) -ne -1 ]; then
163 - echo "SET slow = $((phpfpm_slow_requests))"
164 - fi
165 - echo "END"
166 - done
167 -
168 - return 0
169 -}
collectors/charts.d.plugin/phpfpm/phpfpm.conf deleted
-27
@@ -1,27 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# USE THE PYTHON.D ONE
10 -
11 -# first, you need open php-fpm status in php-fpm.conf
12 -# second, you need add status location in nginx.conf
13 -# you can see, https://easyengine.io/tutorials/php/fpm-status-page/
14 -#phpfpm_urls[name]=""
15 -#phpfpm_curl_opts[name]=""
16 -
17 -# the data collection frequency
18 -# if unset, will inherit the netdata update frequency
19 -#phpfpm_update_every=
20 -
21 -# the charts priority on the dashboard
22 -#phpfpm_priority=60000
23 -
24 -# the number of retries to do in case of failure
25 -# before disabling the module
26 -#phpfpm_retries=10
27 -
collectors/charts.d.plugin/postfix/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += postfix/postfix.chart.sh
9 -dist_chartsconfig_DATA += postfix/postfix.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += postfix/README.md postfix/Makefile.inc
13 -
collectors/charts.d.plugin/postfix/README.md deleted
-28
@@ -1,28 +0,0 @@
1 -# postfix
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [THE PYTHON ONE](../../python.d.plugin/postfix) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
5 -
6 -The plugin will collect the postfix queue size.
7 -
8 -It will create two charts:
9 -
10 -1. **queue size in emails**
11 -2. **queue size in KB**
12 -
13 -## configuration
14 -
15 -This is the internal default for `/etc/netdata/postfix.conf`
16 -
17 -```sh
18 -# the postqueue command
19 -# if empty, it will use the one found in the system path
20 -postfix_postqueue=
21 -
22 -# how frequently to collect queue size
23 -postfix_update_every=15
24 -```
25 -
26 ----
27 -
28 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fpostfix%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/postfix/postfix.chart.sh deleted
-87
@@ -1,87 +0,0 @@
1 -# shellcheck shell=bash disable=SC1117
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -
10 -# the postqueue command
11 -# if empty, it will use the one found in the system path
12 -postfix_postqueue=
13 -
14 -# how frequently to collect queue size
15 -postfix_update_every=15
16 -
17 -postfix_priority=60000
18 -
19 -postfix_check() {
20 - # this should return:
21 - # - 0 to enable the chart
22 - # - 1 to disable the chart
23 -
24 - # try to find the postqueue executable
25 - if [ -z "$postfix_postqueue" ] || [ ! -x "$postfix_postqueue" ]; then
26 - # shellcheck disable=SC2230
27 - postfix_postqueue="$(which postqueue 2>/dev/null || command -v postqueue 2>/dev/null)"
28 - fi
29 -
30 - if [ -z "$postfix_postqueue" ] || [ ! -x "$postfix_postqueue" ]; then
31 - # shellcheck disable=SC2154
32 - error "cannot find postqueue. Please set 'postfix_postqueue=/path/to/postqueue' in $confd/postfix.conf"
33 - return 1
34 - fi
35 -
36 - return 0
37 -}
38 -
39 -postfix_create() {
40 - cat <<EOF
41 -CHART postfix_local.qemails '' "Postfix Queue Emails" "emails" queue postfix.queued.emails line $((postfix_priority + 1)) $postfix_update_every
42 -DIMENSION emails '' absolute 1 1
43 -CHART postfix_local.qsize '' "Postfix Queue Emails Size" "emails size in KB" queue postfix.queued.size area $((postfix_priority + 2)) $postfix_update_every
44 -DIMENSION size '' absolute 1 1
45 -EOF
46 -
47 - return 0
48 -}
49 -
50 -postfix_update() {
51 - # the first argument to this function is the microseconds since last update
52 - # pass this parameter to the BEGIN statement (see bellow).
53 -
54 - # do all the work to collect / calculate the values
55 - # for each dimension
56 - # remember: KEEP IT SIMPLE AND SHORT
57 -
58 - # 1. execute postqueue -p
59 - # 2. get the line that begins with --
60 - # 3. match the 2 numbers on the line and output 2 lines like these:
61 - # local postfix_q_size=NUMBER
62 - # local postfix_q_emails=NUMBER
63 - # 4. then execute this a script with the eval
64 - #
65 - # be very carefull with eval:
66 - # prepare the script and always egrep at the end the lines that are usefull, so that
67 - # even if something goes wrong, no other code can be executed
68 - postfix_q_emails=0
69 - postfix_q_size=0
70 -
71 - eval "$(run "$postfix_postqueue" -p |
72 - grep "^--" |
73 - sed -e "s/-- \([0-9]\+\) Kbytes in \([0-9]\+\) Requests.$/local postfix_q_size=\1\nlocal postfix_q_emails=\2/g" |
74 - grep -E "^local postfix_q_(emails|size)=[0-9]+$")"
75 -
76 - # write the result of the work.
77 - cat <<VALUESEOF
78 -BEGIN postfix_local.qemails $1
79 -SET emails = $postfix_q_emails
80 -END
81 -BEGIN postfix_local.qsize $1
82 -SET size = $postfix_q_size
83 -END
84 -VALUESEOF
85 -
86 - return 0
87 -}
collectors/charts.d.plugin/postfix/postfix.conf deleted
-25
@@ -1,25 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# USE THE PYTHON.D ONE
10 -
11 -# the postqueue command
12 -# if empty, it will use the one found in the system path
13 -#postfix_postqueue=
14 -
15 -# the data collection frequency
16 -# if unset, will inherit the netdata update frequency
17 -#postfix_update_every=15
18 -
19 -# the charts priority on the dashboard
20 -#postfix_priority=60000
21 -
22 -# the number of retries to do in case of failure
23 -# before disabling the module
24 -#postfix_retries=10
25 -
collectors/charts.d.plugin/squid/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += squid/squid.chart.sh
9 -dist_chartsconfig_DATA += squid/squid.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += squid/README.md squid/Makefile.inc
13 -
collectors/charts.d.plugin/squid/README.md deleted
-67
@@ -1,67 +0,0 @@
1 -# squid
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [THE PYTHON ONE](../../python.d.plugin/squid) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
5 -
6 -The plugin will monitor a squid server.
7 -
8 -It will produce 4 charts:
9 -
10 -1. **Squid Client Bandwidth** in kbps
11 -
12 -- in
13 -- out
14 -- hits
15 -
16 -2. **Squid Client Requests** in requests/sec
17 -
18 -- requests
19 -- hits
20 -- errors
21 -
22 -3. **Squid Server Bandwidth** in kbps
23 -
24 -- in
25 -- out
26 -
27 -4. **Squid Server Requests** in requests/sec
28 -
29 -- requests
30 -- errors
31 -
32 -## autoconfig
33 -
34 -The plugin will by itself detect squid servers running on
35 -localhost, on ports 3128 or 8080.
36 -
37 -It will attempt to download URLs in the form:
38 -
39 -- `cache_object://HOST:PORT/counters`
40 -- `/squid-internal-mgr/counters`
41 -
42 -If any succeeds, it will use this.
43 -
44 -## configuration
45 -
46 -If you need to configure it by hand, create the file
47 -`/etc/netdata/squid.conf` with the following variables:
48 -
49 -- `squid_host=IP` the IP of the squid host
50 -- `squid_port=PORT` the port the squid is listening
51 -- `squid_url="URL"` the URL with the statistics to be fetched from squid
52 -- `squid_timeout=SECONDS` how much time we should wait for squid to respond
53 -- `squid_update_every=SECONDS` the frequency of the data collection
54 -
55 -Example `/etc/netdata/squid.conf`:
56 -
57 -```sh
58 -squid_host=127.0.0.1
59 -squid_port=3128
60 -squid_url="cache_object://127.0.0.1:3128/counters"
61 -squid_timeout=2
62 -squid_update_every=5
63 -```
64 -
65 ----
66 -
67 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Fsquid%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/squid/squid.chart.sh deleted
-141
@@ -1,141 +0,0 @@
1 -# shellcheck shell=bash disable=SC2154
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -
10 -squid_host=
11 -squid_port=
12 -squid_url=
13 -squid_update_every=2
14 -squid_priority=60000
15 -
16 -squid_get_stats_internal() {
17 - local host="$1" port="$2" url="$3"
18 - run squidclient -h "$host" -p "$port" "$url"
19 -}
20 -
21 -squid_get_stats() {
22 - squid_get_stats_internal "$squid_host" "$squid_port" "$squid_url"
23 -}
24 -
25 -squid_autodetect() {
26 - local host="127.0.0.1" port url x
27 -
28 - for port in 3128 8080; do
29 - for url in "cache_object://$host:$port/counters" "/squid-internal-mgr/counters"; do
30 - x=$(squid_get_stats_internal "$host" "$port" "$url" | grep client_http.requests)
31 - if [ ! -z "$x" ]; then
32 - squid_host="$host"
33 - squid_port="$port"
34 - squid_url="$url"
35 - debug "found squid at '$host:$port' with url '$url'"
36 - return 0
37 - fi
38 - done
39 - done
40 -
41 - error "cannot find squid running in localhost. Please set squid_url='url' and squid_host='IP' and squid_port='PORT' in $confd/squid.conf"
42 - return 1
43 -}
44 -
45 -squid_check() {
46 - require_cmd squidclient || return 1
47 - require_cmd sed || return 1
48 - require_cmd egrep || return 1
49 -
50 - if [ -z "$squid_host" ] || [ -z "$squid_port" ] || [ -z "$squid_url" ]; then
51 - squid_autodetect || return 1
52 - fi
53 -
54 - # check once if the url works
55 - local x
56 - x="$(squid_get_stats | grep client_http.requests)"
57 - # shellcheck disable=SC2181
58 - if [ ! $? -eq 0 ] || [ -z "$x" ]; then
59 - error "cannot fetch URL '$squid_url' by connecting to $squid_host:$squid_port. Please set squid_url='url' and squid_host='host' and squid_port='port' in $confd/squid.conf"
60 - return 1
61 - fi
62 -
63 - return 0
64 -}
65 -
66 -squid_create() {
67 - # create the charts
68 - cat <<EOF
69 -CHART squid_local.clients_net '' "Squid Client Bandwidth" "kilobits / sec" clients squid.clients.net area $((squid_priority + 1)) $squid_update_every
70 -DIMENSION client_http_kbytes_in in incremental 8 1
71 -DIMENSION client_http_kbytes_out out incremental -8 1
72 -DIMENSION client_http_hit_kbytes_out hits incremental -8 1
73 -
74 -CHART squid_local.clients_requests '' "Squid Client Requests" "requests / sec" clients squid.clients.requests line $((squid_priority + 3)) $squid_update_every
75 -DIMENSION client_http_requests requests incremental 1 1
76 -DIMENSION client_http_hits hits incremental 1 1
77 -DIMENSION client_http_errors errors incremental -1 1
78 -
79 -CHART squid_local.servers_net '' "Squid Server Bandwidth" "kilobits / sec" servers squid.servers.net area $((squid_priority + 2)) $squid_update_every
80 -DIMENSION server_all_kbytes_in in incremental 8 1
81 -DIMENSION server_all_kbytes_out out incremental -8 1
82 -
83 -CHART squid_local.servers_requests '' "Squid Server Requests" "requests / sec" servers squid.servers.requests line $((squid_priority + 4)) $squid_update_every
84 -DIMENSION server_all_requests requests incremental 1 1
85 -DIMENSION server_all_errors errors incremental -1 1
86 -EOF
87 -
88 - return 0
89 -}
90 -
91 -squid_update() {
92 - # the first argument to this function is the microseconds since last update
93 - # pass this parameter to the BEGIN statement (see bellow).
94 -
95 - # do all the work to collect / calculate the values
96 - # for each dimension
97 - # remember: KEEP IT SIMPLE AND SHORT
98 -
99 - # 1. get the counters page from squid
100 - # 2. sed to remove spaces; replace . with _; remove spaces around =; prepend each line with: local squid_
101 - # 3. egrep lines starting with:
102 - # local squid_client_http_ then one or more of these a-z 0-9 _ then = and one of more of 0-9
103 - # local squid_server_all_ then one or more of these a-z 0-9 _ then = and one of more of 0-9
104 - # 4. then execute this as a script with the eval
105 - #
106 - # be very carefull with eval:
107 - # prepare the script and always grep at the end the lines that are usefull, so that
108 - # even if something goes wrong, no other code can be executed
109 -
110 - # shellcheck disable=SC1117
111 - eval "$(squid_get_stats |
112 - sed -e "s/ \+/ /g" -e "s/\./_/g" -e "s/^\([a-z0-9_]\+\) *= *\([0-9]\+\)$/local squid_\1=\2/g" |
113 - grep -E "^local squid_(client_http|server_all)_[a-z0-9_]+=[0-9]+$")"
114 -
115 - # write the result of the work.
116 - cat <<VALUESEOF
117 -BEGIN squid_local.clients_net $1
118 -SET client_http_kbytes_in = $squid_client_http_kbytes_in
119 -SET client_http_kbytes_out = $squid_client_http_kbytes_out
120 -SET client_http_hit_kbytes_out = $squid_client_http_hit_kbytes_out
121 -END
122 -
123 -BEGIN squid_local.clients_requests $1
124 -SET client_http_requests = $squid_client_http_requests
125 -SET client_http_hits = $squid_client_http_hits
126 -SET client_http_errors = $squid_client_http_errors
127 -END
128 -
129 -BEGIN squid_local.servers_net $1
130 -SET server_all_kbytes_in = $squid_server_all_kbytes_in
131 -SET server_all_kbytes_out = $squid_server_all_kbytes_out
132 -END
133 -
134 -BEGIN squid_local.servers_requests $1
135 -SET server_all_requests = $squid_server_all_requests
136 -SET server_all_errors = $squid_server_all_errors
137 -END
138 -VALUESEOF
139 -
140 - return 0
141 -}
collectors/charts.d.plugin/squid/squid.conf deleted
-26
@@ -1,26 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# USE THE PYTHON.D ONE
10 -
11 -#squid_host=
12 -#squid_port=
13 -#squid_url=
14 -#squid_timeout=2
15 -
16 -# the data collection frequency
17 -# if unset, will inherit the netdata update frequency
18 -#squid_update_every=2
19 -
20 -# the charts priority on the dashboard
21 -#squid_priority=60000
22 -
23 -# the number of retries to do in case of failure
24 -# before disabling the module
25 -#squid_retries=10
26 -
collectors/charts.d.plugin/tomcat/Makefile.inc deleted
-13
@@ -1,13 +0,0 @@
1 -# SPDX-License-Identifier: GPL-3.0-or-later
2 -
3 -# THIS IS NOT A COMPLETE Makefile
4 -# IT IS INCLUDED BY ITS PARENT'S Makefile.am
5 -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT
6 -
7 -# install these files
8 -dist_charts_DATA += tomcat/tomcat.chart.sh
9 -dist_chartsconfig_DATA += tomcat/tomcat.conf
10 -
11 -# do not install these files, but include them in the distribution
12 -dist_noinst_DATA += tomcat/README.md tomcat/Makefile.inc
13 -
collectors/charts.d.plugin/tomcat/README.md deleted
-6
@@ -1,6 +0,0 @@
1 -# tomcat
2 -
3 -> THIS MODULE IS OBSOLETE.
4 -> USE [THE PYTHON ONE](../../python.d.plugin/tomcat) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
5 -
6 -[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fcharts.d.plugin%2Ftomcat%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
collectors/charts.d.plugin/tomcat/tomcat.chart.sh deleted
-152
@@ -1,152 +0,0 @@
1 -# shellcheck shell=bash
2 -# no need for shebang - this file is loaded from charts.d.plugin
3 -# SPDX-License-Identifier: GPL-3.0-or-later
4 -
5 -# netdata
6 -# real-time performance and health monitoring, done right!
7 -# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
8 -#
9 -# Contributed by @jgeromero with PR #277
10 -
11 -# Description: Tomcat netdata charts.d plugin
12 -# Author: Jorge Romero
13 -
14 -# the URL to download tomcat status info
15 -# usually http://localhost:8080/manager/status?XML=true
16 -tomcat_url=""
17 -tomcat_curl_opts=""
18 -
19 -# set tomcat username/password here
20 -tomcat_user=""
21 -tomcat_password=""
22 -
23 -# _update_every is a special variable - it holds the number of seconds
24 -# between the calls of the _update() function
25 -tomcat_update_every=
26 -
27 -tomcat_priority=60000
28 -
29 -# convert tomcat floating point values
30 -# to integer using this multiplier
31 -# this only affects precision - the values
32 -# will be in the proper units
33 -tomcat_decimal_detail=1000000
34 -
35 -# used by volume chart to convert bytes to kB
36 -tomcat_decimal_kB_detail=1000
37 -
38 -tomcat_check() {
39 -
40 - require_cmd xmlstarlet || return 1
41 -
42 - # check if url, username, passwords are set
43 - if [ -z "${tomcat_url}" ]; then
44 - error "tomcat url is unset or set to the empty string"
45 - return 1
46 - fi
47 - if [ -z "${tomcat_user}" ]; then
48 - # check backwards compatibility
49 - # shellcheck disable=SC2154
50 - if [ -z "${tomcatUser}" ]; then
51 - error "tomcat user is unset or set to the empty string"
52 - return 1
53 - else
54 - tomcat_user="${tomcatUser}"
55 - fi
56 - fi
57 - if [ -z "${tomcat_password}" ]; then
58 - # check backwards compatibility
59 - # shellcheck disable=SC2154
60 - if [ -z "${tomcatPassword}" ]; then
61 - error "tomcat password is unset or set to the empty string"
62 - return 1
63 - else
64 - tomcat_password="${tomcatPassword}"
65 - fi
66 - fi
67 -
68 - # check if we can get to tomcat's status page
69 - tomcat_get
70 - # shellcheck disable=2181
71 - if [ $? -ne 0 ]; then
72 - error "cannot get to status page on URL '${tomcat_url}'. Please make sure tomcat url, username and password are correct."
73 - return 1
74 - fi
75 -
76 - # this should return:
77 - # - 0 to enable the chart
78 - # - 1 to disable the chart
79 -
80 - return 0
81 -}
82 -
83 -tomcat_get() {
84 - # collect tomcat values
85 - tomcat_port="$(
86 - IFS=/ read -ra a <<<"$tomcat_url"
87 - hostport=${a[2]}
88 - echo "${hostport#*:}"
89 - )"
90 - mapfile -t lines < <(run curl -u "$tomcat_user":"$tomcat_password" -Ss ${tomcat_curl_opts} "$tomcat_url" |
91 - run xmlstarlet sel \
92 - -t -m "/status/jvm/memory" -v @free \
93 - -n -m "/status/connector[@name='\"http-bio-$tomcat_port\"']/threadInfo" -v @currentThreadCount \
94 - -n -v @currentThreadsBusy \
95 - -n -m "/status/connector[@name='\"http-bio-$tomcat_port\"']/requestInfo" -v @requestCount \
96 - -n -v @bytesSent -n -)
97 -
98 - tomcat_jvm_freememory="${lines[0]}"
99 - tomcat_threads="${lines[1]}"
100 - tomcat_threads_busy="${lines[2]}"
101 - tomcat_accesses="${lines[3]}"
102 - tomcat_volume="${lines[4]}"
103 -
104 - return 0
105 -}
106 -
107 -# _create is called once, to create the charts
108 -tomcat_create() {
109 - cat <<EOF
110 -CHART tomcat.accesses '' "tomcat requests" "requests/s" statistics tomcat.accesses area $((tomcat_priority + 8)) $tomcat_update_every
111 -DIMENSION accesses '' incremental
112 -CHART tomcat.volume '' "tomcat volume" "kB/s" volume tomcat.volume area $((tomcat_priority + 5)) $tomcat_update_every
113 -DIMENSION volume '' incremental divisor ${tomcat_decimal_kB_detail}
114 -CHART tomcat.threads '' "tomcat threads" "current threads" statistics tomcat.threads line $((tomcat_priority + 6)) $tomcat_update_every
115 -DIMENSION current '' absolute 1
116 -DIMENSION busy '' absolute 1
117 -CHART tomcat.jvm '' "JVM Free Memory" "MB" statistics tomcat.jvm area $((tomcat_priority + 8)) $tomcat_update_every
118 -DIMENSION jvm '' absolute 1 ${tomcat_decimal_detail}
119 -EOF
120 - return 0
121 -}
122 -
123 -# _update is called continuously, to collect the values
124 -tomcat_update() {
125 - # the first argument to this function is the microseconds since last update
126 - # pass this parameter to the BEGIN statement (see bellow).
127 -
128 - # do all the work to collect / calculate the values
129 - # for each dimension
130 - # remember: KEEP IT SIMPLE AND SHORT
131 -
132 - tomcat_get || return 1
133 -
134 - # write the result of the work.
135 - cat <<VALUESEOF
136 -BEGIN tomcat.accesses $1
137 -SET accesses = $((tomcat_accesses))
138 -END
139 -BEGIN tomcat.volume $1
140 -SET volume = $((tomcat_volume))
141 -END
142 -BEGIN tomcat.threads $1
143 -SET current = $((tomcat_threads))
144 -SET busy = $((tomcat_threads_busy))
145 -END
146 -BEGIN tomcat.jvm $1
147 -SET jvm = $((tomcat_jvm_freememory))
148 -END
149 -VALUESEOF
150 -
151 - return 0
152 -}
collectors/charts.d.plugin/tomcat/tomcat.conf deleted
-38
@@ -1,38 +0,0 @@
1 -# no need for shebang - this file is loaded from charts.d.plugin
2 -
3 -# netdata
4 -# real-time performance and health monitoring, done right!
5 -# (C) 2018 Costa Tsaousis <costa@tsaousis.gr>
6 -# GPL v3+
7 -
8 -# THIS PLUGIN IS DEPRECATED
9 -# USE THE PYTHON.D ONE
10 -
11 -# the URL to download tomcat status info
12 -# usually http://localhost:8080/manager/status?XML=true
13 -#tomcat_url=""
14 -#tomcat_curl_opts=""
15 -
16 -# set tomcat username/password here
17 -#tomcat_user=""
18 -#tomcat_password=""
19 -
20 -# the data collection frequency
21 -# if unset, will inherit the netdata update frequency
22 -#tomcat_update_every=1
23 -
24 -# the charts priority on the dashboard
25 -#tomcat_priority=60000
26 -
27 -# the number of retries to do in case of failure
28 -# before disabling the module
29 -#tomcat_retries=10
30 -
31 -# convert tomcat floating point values
32 -# to integer using this multiplier
33 -# this only affects precision - the values
34 -# will be in the proper units
35 -#tomcat_decimal_detail=1000000
36 -
37 -# used by volume chart to convert bytes to KB
38 -#tomcat_decimal_KB_detail=1000
docs/Add-more-charts-to-netdata.md
-13
@@ -145,16 +145,12 @@ These are all the data collection plugins currently available.
145 | application | language | notes |
146 |:---------:|:------:|:----|
147 | apache|python<br/>v2 or v3|Connects to multiple apache servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [apache.chart.py](../collectors/python.d.plugin/apache)<br/>configuration file: [python.d/apache.conf](../collectors/python.d.plugin/apache)|
148 -| apache|BASH<br/>Shell Script|Connects to an apache server (local or remote) to collect real-time performance metrics.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [apache.chart.sh](../collectors/charts.d.plugin/apache)<br/>configuration file: [charts.d/apache.conf](../collectors/charts.d.plugin/apache)|
148 | ipfs|python<br/>v2 or v3|Connects to multiple ipfs servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [ipfs.chart.py](../collectors/python.d.plugin/ipfs)<br/>configuration file: [python.d/ipfs.conf](../collectors/python.d.plugin/ipfs)|
149 | litespeed|python<br/>v2 or v3|reads the litespeed `rtreport` files to collect metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [litespeed.chart.py](../collectors/python.d.plugin/litespeed)<br/>configuration file: [python.d/litespeed.conf](../collectors/python.d.plugin/litespeed)|
150 | nginx|python<br/>v2 or v3|Connects to multiple nginx servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [nginx.chart.py](../collectors/python.d.plugin/nginx)<br/>configuration file: [python.d/nginx.conf](../collectors/python.d.plugin/nginx)|
151 | nginx_plus|python<br/>v2 or v3|Connects to multiple nginx_plus servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [nginx_plus.chart.py](../collectors/python.d.plugin/nginx_plus)<br/>configuration file: [python.d/nginx_plus.conf](../collectors/python.d.plugin/nginx_plus)|
153 -| nginx|BASH<br/>Shell Script|Connects to an nginx server (local or remote) to collect real-time performance metrics.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [nginx.chart.sh](../collectors/charts.d.plugin/nginx)<br/>configuration file: [charts.d/nginx.conf](../collectors/charts.d.plugin/nginx)|
152 | phpfpm|python<br/>v2 or v3|Connects to multiple phpfpm servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [phpfpm.chart.py](../collectors/python.d.plugin/phpfpm)<br/>configuration file: [python.d/phpfpm.conf](../collectors/python.d.plugin/phpfpm)|
155 -| phpfpm|BASH<br/>Shell Script|Connects to one or more phpfpm servers (local or remote) to collect real-time performance metrics.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [phpfpm.chart.sh](../collectors/charts.d.plugin/phpfpm)<br/>configuration file: [charts.d/phpfpm.conf](../collectors/charts.d.plugin/phpfpm)|
153 | tomcat|python<br/>v2 or v3|Connects to multiple tomcat servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [tomcat.chart.py](../collectors/python.d.plugin/tomcat)<br/>configuration file: [python.d/tomcat.conf](../collectors/python.d.plugin/tomcat)|
157 -| tomcat|BASH<br/>Shell Script|Connects to a tomcat server (local or remote) to collect real-time performance metrics.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [tomcat.chart.sh](../collectors/charts.d.plugin/tomcat)<br/>configuration file: [charts.d/tomcat.conf](../collectors/charts.d.plugin/tomcat)|
154
155 ---
156
@@ -174,7 +170,6 @@ These are all the data collection plugins currently available.
170 | memcached|python<br/>v2 or v3|Connects to multiple memcached servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [memcached.chart.py](../collectors/python.d.plugin/memcached)<br/>configuration file: [python.d/memcached.conf](../collectors/python.d.plugin/memcached)|
171 | mongodb|python<br/>v2 or v3|Connects to multiple `mongodb` servers (local or remote) to collect real-time performance metrics.<br/> <br/>Requires package `python-pymongo`.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [mongodb.chart.py](../collectors/python.d.plugin/mongodb)<br/>configuration file: [python.d/mongodb.conf](../collectors/python.d.plugin/mongodb)|
172 | mysql<br/>mariadb|python<br/>v2 or v3|Connects to multiple mysql or mariadb servers (local or remote) to collect real-time performance metrics.<br/> <br/>Requires package `python-mysqldb` (faster and preferred), or `python-pymysql`. <br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [mysql.chart.py](../collectors/python.d.plugin/mysql)<br/>configuration file: [python.d/mysql.conf](../collectors/python.d.plugin/mysql)|
177 -| mysql<br/>mariadb|BASH<br/>Shell Script|Connects to multiple mysql or mariadb servers (local or remote) to collect real-time performance metrics.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [mysql.chart.sh](../collectors/charts.d.plugin/mysql)<br/>configuration file: [charts.d/mysql.conf](../collectors/charts.d.plugin/mysql)|
173 | postgres|python<br/>v2 or v3|Connects to multiple postgres servers (local or remote) to collect real-time performance metrics.<br/> <br/>Requires package `python-psycopg2`.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [postgres.chart.py](../collectors/python.d.plugin/postgres)<br/>configuration file: [python.d/postgres.conf](../collectors/python.d.plugin/postgres)|
174 | redis|python<br/>v2 or v3|Connects to multiple redis servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [redis.chart.py](../collectors/python.d.plugin/redis)<br/>configuration file: [python.d/redis.conf](../collectors/python.d.plugin/redis)|
175 | rethinkdb|python<br/>v2 or v3|Connects to multiple rethinkdb servers (local or remote) to collect real-time metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [rethinkdb.chart.py](../collectors/python.d.plugin/rethinkdbs)<br/>configuration file: [python.d/rethinkdb.conf](../collectors/python.d.plugin/rethinkdbs)|
@@ -194,7 +189,6 @@ These are all the data collection plugins currently available.
189 |application|language|notes|
190 |:---------:|:------:|:----|
191 |squid|python<br/>v2 or v3|Connects to multiple squid servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [squid.chart.py](../collectors/python.d.plugin/squid)<br/>configuration file: [python.d/squid.conf](../collectors/python.d.plugin/squid)|
197 -|squid|BASH<br/>Shell Script|Connects to a squid server (local or remote) to collect real-time performance metrics.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [squid.chart.sh](../collectors/charts.d.plugin/squid)<br/>configuration file: [charts.d/squid.conf](../collectors/charts.d.plugin/squid)|
192
193 ---
194
@@ -275,9 +269,7 @@ These are all the data collection plugins currently available.
269 |:---------:|:------:|:----|
270 | dovecot|python<br/>v2 or v3|Connects to multiple dovecot servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [dovecot.chart.py](../collectors/python.d.plugin/dovecot)<br/>configuration file: [python.d/dovecot.conf](../collectors/python.d.plugin/dovecot)|
271 | exim|python<br/>v2 or v3|Charts the exim queue size.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [exim.chart.py](../collectors/python.d.plugin/exim)<br/>configuration file: [python.d/exim.conf](../collectors/python.d.plugin/exim)|
278 -| exim|BASH<br/>Shell Script|Charts the exim queue size.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [exim.chart.sh](../collectors/charts.d.plugin/exim)<br/>configuration file: [charts.d/exim.conf](../collectors/charts.d.plugin/exim)|
272 | postfix|python<br/>v2 or v3|Charts the postfix queue size (supports multiple queues).<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [postfix.chart.py](../collectors/python.d.plugin/postfix)<br/>configuration file: [python.d/postfix.conf](../collectors/python.d.plugin/postfix)|
280 -| postfix|BASH<br/>Shell Script|Charts the postfix queue size.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [postfix.chart.sh](../collectors/charts.d.plugin/postfix)<br/>configuration file: [charts.d/postfix.conf](../collectors/charts.d.plugin/postfix)|
273
274 ---
275
@@ -314,9 +306,6 @@ These are all the data collection plugins currently available.
306 | apps|C|`apps.plugin` collects resource usage statistics for all processes running in the system. It groups the entire process tree and reports dozens of metrics for CPU utilization, memory footprint, disk I/O, swap memory, network connections, open files and sockets, etc. It reports metrics for application groups, users and user groups.<br/> <br/>[Documentation of `apps.plugin`](../collectors/apps.plugin/).<br/> <br/>Netdata plugin: [`apps_plugin.c`](../collectors/apps.plugin)<br/>configuration file: [`apps_groups.conf`](../collectors/apps.plugin)|
307 | ioping|C|Charts disk latency statistics for a directory/file/device, using the `ioping` command. A recent (probably unreleased) version of ioping is required. The plugin supplied can install it in `/usr/local`.<br/> <br/>Netdata plugin: [ioping.plugin](../collectors/ioping.plugin) (this is a shell wrapper to start ioping - once ioping is started, Netdata and ioping communicate directly - it can also install the right version of ioping)<br/>configuration file: [ioping.conf](../collectors/ioping.plugin)|
308 | perf|C|`perf.plugin` collects CPU performance metrics using hardware performance monitoring units (PMU).<br/> <br/>[Documentation of `perf.plugin`](../collectors/perf.plugin/).<br/> <br/>Netdata plugin: [`perf_plugin.c`](../collectors/perf.plugin)|
317 -| cpu_apps|BASH<br/>Shell Script|Collects the CPU utilization of select apps.<br/><br/>DEPRECATED IN FAVOR OF `apps.plugin`. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [cpu_apps.chart.sh](../collectors/charts.d.plugin/cpu_apps)<br/>configuration file: [charts.d/cpu_apps.conf](../collectors/charts.d.plugin/cpu_apps)|
318 -| load_average|BASH<br/>Shell Script|Collects the current system load average.<br/><br/>DEPRECATED IN FAVOR OF THE NETDATA INTERNAL ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [load_average.chart.sh](../collectors/charts.d.plugin/load_average)<br/>configuration file: [charts.d/load_average.conf](../collectors/charts.d.plugin/load_average)|
319 -| mem_apps|BASH<br/>Shell Script|Collects the memory footprint of select applications.<br/><br/>DEPRECATED IN FAVOR OF `apps.plugin`. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [mem_apps.chart.sh](../collectors/charts.d.plugin/mem_apps)<br/>configuration file: [charts.d/mem_apps.conf](../collectors/charts.d.plugin/mem_apps)|
309 | slabinfo|C|`slabinfo.plugin` collects Kernel SLAB cache metrics on Linux .<br/> <br/>[Documentation of `slabinfo.plugin`](../collectors/slabinfo.plugin/).<br/> <br/>Netdata plugin: [`slabinfo_plugin.c`](../collectors/slabinfo.plugin)|
310
311 ---
@@ -325,10 +314,8 @@ These are all the data collection plugins currently available.
314
315 | application|language|notes|
316 |:---------:|:------:|:----|
328 -| cpufreq|BASH<br/>Shell Script|Collects current CPU frequency from `/sys/devices`.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [cpufreq.chart.sh](../collectors/charts.d.plugin/cpufreq)<br/>configuration file: [charts.d/cpufreq.conf](../collectors/charts.d.plugin/cpufreq)|
317 | IPMI|C|Collects temperatures, voltages, currents, power, fans and `SEL` events from IPMI using `libipmimonitoring`.<br/>Check [Monitoring IPMI](../collectors/freeipmi.plugin/) for more information<br/> <br/>Netdata plugin: [freeipmi.plugin](../collectors/freeipmi.plugin)<br/>configuration file: none required - to enable it, compile/install Netdata with `--enable-plugin-freeipmi`|
318 | hddtemp|python<br/>v2 or v3|Connects to multiple hddtemp servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [hddtemp.chart.py](../collectors/python.d.plugin/hddtemp)<br/>configuration file: [python.d/hddtemp.conf](../collectors/python.d.plugin/hddtemp)|
331 -| hddtemp|BASH<br/>Shell Script|Connects to a hddtemp server (local or remote) to collect real-time performance metrics.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [hddtemp.chart.sh](../collectors/charts.d.plugin/hddtemp)<br/>configuration file: [charts.d/hddtemp.conf](../collectors/charts.d.plugin/hddtemp)|
319 | sensors|BASH<br/>Shell Script|Collects sensors values from files in `/sys`.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [sensors.chart.sh](../collectors/charts.d.plugin/sensors)<br/>configuration file: [charts.d/sensors.conf](../collectors/charts.d.plugin/sensors)|
320 | sensors|python<br/>v2 or v3|Uses `lm-sensors` to collect sensor data.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [sensors.chart.py](../collectors/python.d.plugin/sensors)<br/>configuration file: [python.d/sensors.conf](../collectors/python.d.plugin/sensors)|
321 | smartd_log|python<br/>v2 or v3|Collects the S.M.A.R.T attributes from `smartd` log files.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [smartd_log.chart.py](../collectors/python.d.plugin/smartd_log)<br/>configuration file: [python.d/smartd_log.conf](../collectors/python.d.plugin/smartd_log)|
docs/generator/buildyaml.sh
-13
@@ -260,20 +260,7 @@ echo -ne " - BASH:
260 - 'collectors/charts.d.plugin/nut/README.md'
261 - 'collectors/charts.d.plugin/opensips/README.md'
262 - Obsolete Modules:
263 - - 'collectors/charts.d.plugin/mem_apps/README.md'
264 - - 'collectors/charts.d.plugin/postfix/README.md'
265 - - 'collectors/charts.d.plugin/tomcat/README.md'
263 - 'collectors/charts.d.plugin/sensors/README.md'
267 - - 'collectors/charts.d.plugin/cpu_apps/README.md'
268 - - 'collectors/charts.d.plugin/squid/README.md'
269 - - 'collectors/charts.d.plugin/nginx/README.md'
270 - - 'collectors/charts.d.plugin/hddtemp/README.md'
271 - - 'collectors/charts.d.plugin/cpufreq/README.md'
272 - - 'collectors/charts.d.plugin/mysql/README.md'
273 - - 'collectors/charts.d.plugin/exim/README.md'
274 - - 'collectors/charts.d.plugin/apache/README.md'
275 - - 'collectors/charts.d.plugin/load_average/README.md'
276 - - 'collectors/charts.d.plugin/phpfpm/README.md'
264 "
265
266 navpart 3 collectors/apps.plugin