python.d/varnish: multiple storage backends fix (#9668)
florianmagnin committed
Aug 16, 2020 at 10:41 UTC
46376468129172ddfa3f13c2b4652c3fc9d86da9
1 file changed
+15
-15
collectors/python.d.plugin/varnish/varnish.chart.py
+15
-15
@@ -155,14 +155,14 @@ def backend_charts_template(name):
155
return order, charts
156
157
158
-def disk_charts_template(name):
158
+def storage_charts_template(name):
159
order = [
160
- 'disk_{0}_usage'.format(name),
160
+ 'storage_{0}_usage'.format(name),
161
]
162
163
charts = {
164
order[0]: {
165
- 'options': [None, 'Disk "{0}" Usage'.format(name), 'KiB', 'disk usage', 'varnish.disk_usage', 'stacked'],
165
+ 'options': [None, 'Storage "{0}" Usage'.format(name), 'KiB', 'storage usage', 'varnish.storage_usage', 'stacked'],
166
'lines': [
167
['{0}.g_space'.format(name), 'free', 'absolute', 1, 1 << 10],
168
['{0}.g_bytes'.format(name), 'allocated', 'absolute', 1, 1 << 10]
@@ -227,7 +227,7 @@ class Service(ExecutableService):
227
self.parser = Parser()
228
self.command = None
229
self.collected_vbe = set()
230
- self.collected_smf = set()
230
+ self.collected_smf_sma = set()
231
232
def create_command(self):
233
varnishstat = find_binary(VARNISHSTAT)
@@ -298,7 +298,7 @@ class Service(ExecutableService):
298
data.update(stats)
299
300
self.get_vbe_backends(data, raw)
301
- self.get_smf_disks(server_stats)
301
+ self.get_smf_sma_storages(server_stats)
302
303
# varnish 5 uses default.g_bytes and default.g_space
304
data['memory_allocated'] = data.get('s0.g_bytes') or data.get('default.g_bytes')
@@ -320,7 +320,7 @@ class Service(ExecutableService):
320
self.collected_vbe.add(name)
321
self.add_backend_charts(name)
322
323
- def get_smf_disks(self, server_stats):
323
+ def get_smf_sma_storages(self, server_stats):
324
# [('SMF.', 'ssdStorage.c_req', '47686'),
325
# ('SMF.', 'ssdStorage.c_fail', '0'),
326
# ('SMF.', 'ssdStorage.c_bytes', '668102656'),
@@ -331,21 +331,21 @@ class Service(ExecutableService):
331
# ('SMF.', 'ssdStorage.g_smf', '40130'),
332
# ('SMF.', 'ssdStorage.g_smf_frag', '311'),
333
# ('SMF.', 'ssdStorage.g_smf_large', '66')]
334
- disks = [name for typ, name, _ in server_stats if typ.startswith('SMF') and name.endswith('g_space')]
335
- if not disks:
334
+ storages = [name for typ, name, _ in server_stats if typ.startswith(('SMF', 'SMA')) and name.endswith('g_space')]
335
+ if not storages:
336
return
337
- for disk in disks:
338
- disk = disk.split('.')[0] # ssdStorage
339
- if disk in self.collected_smf:
337
+ for storage in storages:
338
+ storage = storage.split('.')[0]
339
+ if storage in self.collected_smf_sma:
340
continue
341
- self.collected_smf.add(disk)
342
- self.add_disk_charts(disk)
341
+ self.collected_smf_sma.add(storage)
342
+ self.add_storage_charts(storage)
343
344
def add_backend_charts(self, backend_name):
345
self.add_charts(backend_name, backend_charts_template)
346
347
- def add_disk_charts(self, disk_name):
348
- self.add_charts(disk_name, disk_charts_template)
347
+ def add_storage_charts(self, storage_name):
348
+ self.add_charts(storage_name, storage_charts_template)
349
350
def add_charts(self, name, charts_template):
351
order, charts = charts_template(name)