22
retries = 60
23
24
# charts order (can be overridden if you want less charts, or different order)
25
-ORDER = ['requests_total', 'requests_current',
26
- 'connections_statistics', 'connections_workers',
27
- 'ssl_handshakes', 'ssl_session_reuses', 'ssl_memory_usage',
28
- 'processes']
25
+ORDER = [
26
+ 'requests_total',
27
+ 'requests_current',
28
+ 'connections_statistics',
29
+ 'connections_workers',
30
+ 'ssl_handshakes',
31
+ 'ssl_session_reuses',
32
+ 'ssl_memory_usage',
33
+ 'processes'
34
+]
35
36
CHARTS = {
37
'requests_total': {
32
- 'options': [None, 'Requests Total', 'requests/s',
33
- 'requests', 'nginx_plus.requests_total', 'line'],
38
+ 'options': [None, 'Requests Total', 'requests/s', 'requests', 'nginx_plus.requests_total', 'line'],
39
'lines': [
40
['requests_total', 'total', 'incremental']
36
- ]},
41
+ ]
42
+ },
43
'requests_current': {
38
- 'options': [None, 'Requests Current', 'requests',
39
- 'requests', 'nginx_plus.requests_current', 'line'],
44
+ 'options': [None, 'Requests Current', 'requests', 'requests', 'nginx_plus.requests_current', 'line'],
45
'lines': [
46
['requests_current', 'current']
42
- ]},
47
+ ]
48
+ },
49
'connections_statistics': {
50
'options': [None, 'Connections Statistics', 'connections/s',
51
'connections', 'nginx_plus.connections_statistics', 'stacked'],
52
'lines': [
53
['connections_accepted', 'accepted', 'incremental'],
54
['connections_dropped', 'dropped', 'incremental']
49
- ]},
55
+ ]
56
+ },
57
'connections_workers': {
58
'options': [None, 'Workers Statistics', 'workers',
59
'connections', 'nginx_plus.connections_workers', 'stacked'],
60
'lines': [
61
['connections_idle', 'idle'],
62
['connections_active', 'active']
56
- ]},
63
+ ]
64
+ },
65
'ssl_handshakes': {
58
- 'options': [None, 'SSL Handshakes', 'handshakes/s',
59
- 'ssl', 'nginx_plus.ssl_handshakes', 'stacked'],
66
+ 'options': [None, 'SSL Handshakes', 'handshakes/s', 'ssl', 'nginx_plus.ssl_handshakes', 'stacked'],
67
'lines': [
68
['ssl_handshakes', 'successful', 'incremental'],
69
['ssl_handshakes_failed', 'failed', 'incremental']
63
- ]},
70
+ ]
71
+ },
72
'ssl_session_reuses': {
65
- 'options': [None, 'Session Reuses', 'sessions/s',
66
- 'ssl', 'nginx_plus.ssl_session_reuses', 'line'],
73
+ 'options': [None, 'Session Reuses', 'sessions/s', 'ssl', 'nginx_plus.ssl_session_reuses', 'line'],
74
'lines': [
75
['ssl_session_reuses', 'reused', 'incremental']
69
- ]},
76
+ ]
77
+ },
78
'ssl_memory_usage': {
71
- 'options': [None, 'Memory Usage', '%',
72
- 'ssl', 'nginx_plus.ssl_memory_usage', 'area'],
79
+ 'options': [None, 'Memory Usage', '%', 'ssl', 'nginx_plus.ssl_memory_usage', 'area'],
80
'lines': [
81
['ssl_memory_usage', 'usage', 'absolute', 1, 100]
75
- ]},
82
+ ]
83
+ },
84
'processes': {
77
- 'options': [None, 'Processes', 'processes',
78
- 'processes', 'nginx_plus.processes', 'line'],
85
+ 'options': [None, 'Processes', 'processes', 'processes', 'nginx_plus.processes', 'line'],
86
'lines': [
87
['processes_respawned', 'respawned']
81
- ]}
88
+ ]
89
+ }
90
}
91
92
95
charts = OrderedDict()
96
97
charts['{0}_traffic'.format(cache.name)] = {
90
- 'options': [None, 'Traffic', 'KB', family,
91
- 'nginx_plus.cache_traffic', 'stacked'],
98
+ 'options': [None, 'Traffic', 'KB', family, 'nginx_plus.cache_traffic', 'stacked'],
99
'lines': [
100
['_'.join([cache.name, 'hit_bytes']), 'served', 'absolute', 1, 1024],
101
['_'.join([cache.name, 'miss_bytes_written']), 'written', 'absolute', 1, 1024],
102
['_'.join([cache.name, 'miss_bytes']), 'bypass', 'absolute', 1, 1024]
96
- ]
103
+ ]
104
}
105
charts['{0}_memory_usage'.format(cache.name)] = {
99
- 'options': [None, 'Memory Usage', '%', family,
100
- 'nginx_plus.cache_memory_usage', 'area'],
106
+ 'options': [None, 'Memory Usage', '%', family, 'nginx_plus.cache_memory_usage', 'area'],
107
'lines': [
108
['_'.join([cache.name, 'memory_usage']), 'usage', 'absolute', 1, 100],
109
]
167
168
# Requests
169
charts['web_upstream_{name}_requests'.format(name=wu.name)] = {
164
- 'options': [None, 'Peers Requests', 'requests/s', family,
165
- 'nginx_plus.web_upstream_requests', 'line'],
170
+ 'options': [None, 'Peers Requests', 'requests/s', family, 'nginx_plus.web_upstream_requests', 'line'],
171
'lines': dimensions('requests', 'incremental')
172
}
173
# Responses Codes
196
}
197
# Connections
198
charts['web_upstream_{name}_connections'.format(name=wu.name)] = {
194
- 'options': [None, 'Peers Connections', 'active', family,
195
- 'nginx_plus.web_upstream_connections', 'line'],
199
+ 'options': [None, 'Peers Connections', 'active', family, 'nginx_plus.web_upstream_connections', 'line'],
200
'lines': dimensions('active')
201
}
202
charts['web_upstream_{name}_connections_usage'.format(name=wu.name)] = {
199
- 'options': [None, 'Peers Connections Usage', '%', family,
200
- 'nginx_plus.web_upstream_connections_usage', 'line'],
203
+ 'options': [None, 'Peers Connections Usage', '%', family, 'nginx_plus.web_upstream_connections_usage', 'line'],
204
'lines': dimensions('connections_usage', d=100)
205
}
206
# Traffic
207
charts['web_upstream_{0}_all_net'.format(wu.name)] = {
205
- 'options': [None, 'All Peers Traffic', 'kilobits/s', family,
206
- 'nginx_plus.web_upstream_all_net', 'area'],
208
+ 'options': [None, 'All Peers Traffic', 'kilobits/s', family, 'nginx_plus.web_upstream_all_net', 'area'],
209
'lines': [
210
['{0}_received'.format(wu.name), 'received', 'incremental', 1, 1000],
211
['{0}_sent'.format(wu.name), 'sent', 'incremental', -1, 1000]
232
}
233
# Memory Usage
234
charts['web_upstream_{name}_memory_usage'.format(name=wu.name)] = {
233
- 'options': [None, 'Memory Usage', '%', family,
234
- 'nginx_plus.web_upstream_memory_usage', 'area'],
235
+ 'options': [None, 'Memory Usage', '%', family, 'nginx_plus.web_upstream_memory_usage', 'area'],
236
'lines': [
237
['_'.join([wu.name, 'memory_usage']), 'usage', 'absolute', 1, 100]
238
]
239
}
240
# State
241
charts['web_upstream_{name}_status'.format(name=wu.name)] = {
241
- 'options': [None, 'Peers Status', 'state', family,
242
- 'nginx_plus.web_upstream_status', 'line'],
242
+ 'options': [None, 'Peers Status', 'state', family, 'nginx_plus.web_upstream_status', 'line'],
243
'lines': dimensions('state')
244
}
245
# Downtime
246
charts['web_upstream_{name}_downtime'.format(name=wu.name)] = {
247
- 'options': [None, 'Peers Downtime', 'seconds', family,
248
- 'nginx_plus.web_upstream_peer_downtime', 'line'],
247
+ 'options': [None, 'Peers Downtime', 'seconds', family, 'nginx_plus.web_upstream_peer_downtime', 'line'],
248
'lines': dimensions('downtime', d=1000)
249
}
250
251
return charts
252
253
255
-METRICS = dict(
256
- SERVER=[
254
+METRICS = {
255
+ 'SERVER': [
256
'processes.respawned',
257
'connections.accepted',
258
'connections.dropped',
266
'slabs.SSL.pages.free',
267
'slabs.SSL.pages.used'
268
],
270
- WEB_ZONE=[
269
+ 'WEB_ZONE': [
270
'processing',
271
'requests',
272
'responses.1xx',
278
'received',
279
'sent'
280
],
282
- WEB_UPSTREAM_PEER=[
281
+ 'WEB_UPSTREAM_PEER': [
282
'id',
283
'server',
284
'name',
297
'received',
298
'downtime'
299
],
301
- WEB_UPSTREAM_SUMMARY=[
300
+ 'WEB_UPSTREAM_SUMMARY': [
301
'responses.1xx',
302
'responses.2xx',
303
'responses.3xx',
306
'sent',
307
'received'
308
],
310
- CACHE=[
309
+ 'CACHE': [
310
'hit.bytes', # served
311
'miss.bytes_written', # written
312
'miss.bytes' # bypass
313
314
]
316
-)
315
+}
316
317
BAD_SYMBOLS = re.compile(r'[:/.-]+')
318