From 63b68b8d3ec42b6c9bb50d962c154d40a491d8ee Mon Sep 17 00:00:00 2001 From: mwiegand Date: Fri, 12 Aug 2022 18:19:19 +0200 Subject: [PATCH] disk_io only partitions --- bundles/grafana/items.py | 1 + bundles/telegraf/metadata.py | 4 +++- data/grafana/flux.mako | 3 +++ data/grafana/rows/disk_io.py | 6 ++++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/bundles/grafana/items.py b/bundles/grafana/items.py index 2c3717c..743dca4 100644 --- a/bundles/grafana/items.py +++ b/bundles/grafana/items.py @@ -151,6 +151,7 @@ for dashboard_id, monitored_node in enumerate(monitored_nodes, start=1): 'host': monitored_node.name, **query_config['filters'], }, + exists=query_config.get('exists', []), function=query_config.get('function', None), ).strip() }) diff --git a/bundles/telegraf/metadata.py b/bundles/telegraf/metadata.py index 1a25d11..0d0f887 100644 --- a/bundles/telegraf/metadata.py +++ b/bundles/telegraf/metadata.py @@ -45,7 +45,9 @@ defaults = { 'memory_rss', ], })}, - 'diskio': {h({})}, + 'diskio': {h({ + 'device_tags': ["ID_PART_ENTRY_NUMBER"], + })}, 'kernel': {h({})}, 'mem': {h({})}, 'processes': {h({})}, diff --git a/data/grafana/flux.mako b/data/grafana/flux.mako index 0bf1c17..83ec9e2 100644 --- a/data/grafana/flux.mako +++ b/data/grafana/flux.mako @@ -3,6 +3,9 @@ from(bucket: "${bucket}") % for key, values in filters.items(): <% values = values if isinstance(values, list) else [values] %>\ |> filter(fn: (r) => ${' or '.join(f'r["{key}"] == "{value}"' for value in values)}) +% endfor +% for exist in exists: + |> filter(fn: (r) => exists r["${exist}"]) // WTF % endfor |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) // aggregate early for best performance % if minimum: diff --git a/data/grafana/rows/disk_io.py b/data/grafana/rows/disk_io.py index 6cecfd9..f1053ce 100644 --- a/data/grafana/rows/disk_io.py +++ b/data/grafana/rows/disk_io.py @@ -9,6 +9,9 @@ 'read_bytes', ], }, + 'exists': [ + 'ID_PART_ENTRY_NUMBER', + ], 'function': 'derivative', }, }, @@ -26,6 +29,9 @@ 'write_bytes', ], }, + 'exists': [ + 'ID_PART_ENTRY_NUMBER', + ], 'function': 'derivative', }, },