Update zscores metadata yaml (#15581)
* update zscores metadata * dev * add category * Update collectors/python.d.plugin/zscores/metadata.yaml Co-authored-by: Fotis Voutsas <fotis@netdata.cloud> * fix trailing space --------- Co-authored-by: Fotis Voutsas <fotis@netdata.cloud>
Andrew Maguire committed
Jul 28, 2023 at 08:36 UTC
101cbcf6ba882e271529f99885942e91c05ccc2a
1 file changed
+145
-35
collectors/python.d.plugin/zscores/metadata.yaml
+145
-35
@@ -1,53 +1,163 @@
1
+# yamllint disable rule:line-length
2
+---
3
meta:
4
plugin_name: python.d.plugin
5
module_name: zscores
6
monitored_instance:
7
name: python.d zscores
6
- link: ''
7
- categories: []
8
- icon_filename: ''
8
+ link: https://en.wikipedia.org/wiki/Standard_score
9
+ categories:
10
+ - data-collection.other
11
+ icon_filename: ""
12
related_resources:
13
integrations:
14
list: []
15
info_provided_to_referring_integrations:
13
- description: ''
14
- keywords: []
16
+ description: ""
17
+ keywords:
18
+ - zscore
19
+ - z-score
20
+ - standard score
21
+ - standard deviation
22
+ - anomaly detection
23
+ - statistical anomaly detection
24
most_popular: false
25
overview:
26
data_collection:
18
- metrics_description: ''
19
- method_description: ''
27
+ metrics_description: |
28
+ By using smoothed, rolling [Z-Scores](https://en.wikipedia.org/wiki/Standard_score) for selected metrics or charts you can narrow down your focus and shorten root cause analysis.
29
+ method_description: |
30
+ This collector uses the [Netdata rest api](https://github.com/netdata/netdata/blob/master/web/api/README.md) to get the `mean` and `stddev`
31
+ for each dimension on specified charts over a time range (defined by `train_secs` and `offset_secs`).
32
+
33
+ For each dimension it will calculate a Z-Score as `z = (x - mean) / stddev` (clipped at `z_clip`). Scores are then smoothed over
34
+ time (`z_smooth_n`) and, if `mode: 'per_chart'`, aggregated across dimensions to a smoothed, rolling chart level Z-Score at each time step.
35
supported_platforms:
36
include: []
37
exclude: []
38
multi_instance: true
39
additional_permissions:
25
- description: ''
40
+ description: ""
41
default_behavior:
42
auto_detection:
28
- description: ''
43
+ description: ""
44
limits:
30
- description: ''
45
+ description: ""
46
performance_impact:
32
- description: ''
47
+ description: ""
48
setup:
49
prerequisites:
35
- list: []
50
+ list:
51
+ - title: Python Requirements
52
+ description: |
53
+ This collector will only work with Python 3 and requires the below packages be installed.
54
+
55
+ ```bash
56
+ # become netdata user
57
+ sudo su -s /bin/bash netdata
58
+ # install required packages
59
+ pip3 install numpy pandas requests netdata-pandas==0.0.38
60
+ ```
61
configuration:
62
file:
38
- name: ''
39
- description: ''
63
+ name: python.d/zscores.conf
64
+ description: ""
65
options:
41
- description: ''
66
+ description: |
67
+ There are 2 sections:
68
+
69
+ * Global variables
70
+ * One or more JOBS that can define multiple different instances to monitor.
71
+
72
+ The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.
73
+
74
+ Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
75
+
76
+ Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
77
folding:
43
- title: ''
78
+ title: "Config options"
79
enabled: true
45
- list: []
80
+ list:
81
+ - name: charts_regex
82
+ description: what charts to pull data for - A regex like `system\..*|` or `system\..*|apps.cpu|apps.mem` etc.
83
+ default_value: "system\\..*"
84
+ required: true
85
+ - name: train_secs
86
+ description: length of time (in seconds) to base calculations off for mean and stddev.
87
+ default_value: 14400
88
+ required: true
89
+ - name: offset_secs
90
+ description: offset (in seconds) preceding latest data to ignore when calculating mean and stddev.
91
+ default_value: 300
92
+ required: true
93
+ - name: train_every_n
94
+ description: recalculate the mean and stddev every n steps of the collector.
95
+ default_value: 900
96
+ required: true
97
+ - name: z_smooth_n
98
+ description: smooth the z score (to reduce sensitivity to spikes) by averaging it over last n values.
99
+ default_value: 15
100
+ required: true
101
+ - name: z_clip
102
+ description: cap absolute value of zscore (before smoothing) for better stability.
103
+ default_value: 10
104
+ required: true
105
+ - name: z_abs
106
+ description: "set z_abs: 'true' to make all zscores be absolute values only."
107
+ default_value: "true"
108
+ required: true
109
+ - name: burn_in
110
+ description: burn in period in which to initially calculate mean and stddev on every step.
111
+ default_value: 2
112
+ required: true
113
+ - name: mode
114
+ description: mode can be to get a zscore 'per_dim' or 'per_chart'.
115
+ default_value: per_chart
116
+ required: true
117
+ - name: per_chart_agg
118
+ description: per_chart_agg is how you aggregate from dimension to chart when mode='per_chart'.
119
+ default_value: mean
120
+ required: true
121
+ - name: update_every
122
+ description: Sets the default data collection frequency.
123
+ default_value: 5
124
+ required: false
125
+ - name: priority
126
+ description: Controls the order of charts at the netdata dashboard.
127
+ default_value: 60000
128
+ required: false
129
+ - name: autodetection_retry
130
+ description: Sets the job re-check interval in seconds.
131
+ default_value: 0
132
+ required: false
133
+ - name: penalty
134
+ description: Indicates whether to apply penalty to update_every in case of failures.
135
+ default_value: yes
136
+ required: false
137
examples:
138
folding:
139
enabled: true
49
- title: ''
50
- list: []
140
+ title: "Config"
141
+ list:
142
+ - name: Default
143
+ description: Default configuration.
144
+ folding:
145
+ enabled: false
146
+ config: |
147
+ local:
148
+ name: 'local'
149
+ host: '127.0.0.1:19999'
150
+ charts_regex: 'system\..*'
151
+ charts_to_exclude: 'system.uptime'
152
+ train_secs: 14400
153
+ offset_secs: 300
154
+ train_every_n: 900
155
+ z_smooth_n: 15
156
+ z_clip: 10
157
+ z_abs: 'true'
158
+ burn_in: 2
159
+ mode: 'per_chart'
160
+ per_chart_agg: 'mean'
161
troubleshooting:
162
problems:
163
list: []
@@ -59,19 +169,19 @@ metrics:
169
description: ""
170
availability: []
171
scopes:
62
- - name: global
63
- description: ""
64
- labels: []
65
- metrics:
66
- - name: zscores.z
67
- description: Z Score
68
- unit: "z"
69
- chart_type: line
70
- dimensions:
71
- - name: a dimension per chart or dimension
72
- - name: zscores.3stddev
73
- description: Z Score >3
74
- unit: "count"
75
- chart_type: stacked
76
- dimensions:
77
- - name: a dimension per chart or dimension
172
+ - name: global
173
+ description: "These metrics refer to the entire monitored application."
174
+ labels: []
175
+ metrics:
176
+ - name: zscores.z
177
+ description: Z Score
178
+ unit: "z"
179
+ chart_type: line
180
+ dimensions:
181
+ - name: a dimension per chart or dimension
182
+ - name: zscores.3stddev
183
+ description: Z Score >3
184
+ unit: "count"
185
+ chart_type: stacked
186
+ dimensions:
187
+ - name: a dimension per chart or dimension